@font-face{font-family:Hanken Grotesk;font-style:normal;font-weight:400 600;font-display:swap;src:url(/fonts/hanken-grotesk-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Martian Mono;font-style:normal;font-weight:400 500;font-display:swap;src:url(/fonts/martian-mono-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--field:oklch(97% .004 90);--ink:oklch(20% .01 90);--muted:oklch(50% .01 90);--rule:oklch(80% .005 90);--accent:#185fa5;--on-accent:#fff;--done:var(--good);--hue-oxblood:#7c2524;--hue-orange:#de5e00;--hue-lime:#bfb300;--hue-teal:#00cbb5;--hue-cobalt:#1450ff;--hue-violet:#7f7aff;--hue-orchid:#a43cf0;--hue-rose:#ff4fbf;--hue-gray:#565c63;--hue-mulberry:#a3006a;--hue-red:#c8102e;--hue-green:#2bbf4f;--hue-oxblood-text:#7c2524;--hue-orange-text:#bd4f00;--hue-lime-text:#7a7300;--hue-teal-text:#007e70;--hue-cobalt-text:#1450ff;--hue-violet-text:#6662cc;--hue-orchid-text:#9d3ae6;--hue-rose-text:#bd3a8d;--hue-gray-text:#565c63;--hue-mulberry-text:#a3006a;--hue-red-text:#c8102e;--hue-green-text:#1d8236;--bad:#ff3b30;--bad-text:#d13027;--good:#16822b;--good-text:#16822b;--warn:#ffcc1a;--warn-text:#856a0e;--ahead:#9be36a;--ahead-text:#547b39;--weight-1:#e6cf8a;--weight-2:#dd9426;--weight-3:#c0561a;--weight-4:#7a1220;--weight-1-ink:var(--ink);--weight-2-ink:var(--ink);--weight-3-ink:var(--on-accent);--weight-4-ink:var(--on-accent);--font-ui:"Hanken Grotesk", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"Martian Mono", ui-monospace, "SF Mono", "Cascadia Mono", monospace;--font-serif:Georgia, "Iowan Old Style", "Palatino Linotype", "Times New Roman", serif;--t-body:14px;--t-title:16px;--t-label:12px;--t-mono:12px;--fs-1:8px;--fs-2:9px;--fs-3:10px;--fs-4:11px;--fs-5:12px;--fs-6:13px;--fs-7:14px;--fs-8:15px;--fs-9:16px;--fs-10:17px;--fs-11:18px;--fs-12:20px;--fs-13:22px;--fs-14:26px;--fs-15:28px;--fs-16:32px;--fs-17:40px;--track-label:.12em;--u:1;--page-col:720px;--rule-w:.5px;--rule-active:1.5px;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:24px;--s-6:32px;--ctl-sm:28px;--ctl:32px;--ctl-lg:44px;--sidebar:208px;--header:48px;--slot:560px;--dialog:600px;--row-nav:30px;--row-list:32px;--row-touch:48px;--row-item:36px;--row-edit:40px;--wash-hover:color-mix(in srgb, var(--ink) 6%, transparent);--wash-press:color-mix(in srgb, var(--ink) 10%, transparent);--bottom-bar:84px;--z-chrome:4;--z-banner:5;--z-panel:6;--z-modal:10}[data-theme=blueprint]{--field:#0c2340;--ink:#f2f6fc;--muted:oklch(78% .05 250);--rule:oklch(42% .06 250);--accent:#85b7eb;--on-accent:#0c2340;--bad:#ff5a1f;--bad-text:#ff5a1f;--good:#08a74c;--good-text:#08a74c;--warn:#ffb82e;--warn-text:#ffb82e;--ahead:#b8fc9f;--ahead-text:#b8fc9f;--done:var(--good);--weight-1:#f0dda8;--weight-2:#ffa93b;--weight-3:#ff6a32;--weight-4:#c02234;--weight-1-ink:var(--on-accent);--weight-2-ink:var(--on-accent);--weight-3-ink:var(--on-accent);--weight-4-ink:var(--ink);--hue-oxblood:#ffa59d;--hue-orange:#ff7d36;--hue-lime:#b6cd04;--hue-teal:#06c1cd;--hue-cobalt:#4f84ff;--hue-violet:#b3a6ff;--hue-orchid:#c95cff;--hue-rose:#ff8ae3;--hue-gray:#838990;--hue-mulberry:#f04fb5;--hue-red:#e0305e;--hue-green:#13e48c;--hue-oxblood-text:#ffa59d;--hue-orange-text:#ff7d36;--hue-lime-text:#b6cd04;--hue-teal-text:#06c1cd;--hue-cobalt-text:#4f84ff;--hue-violet-text:#b3a6ff;--hue-orchid-text:#c95cff;--hue-rose-text:#ff8ae3;--hue-gray-text:#858b92;--hue-mulberry-text:#f04fb5;--hue-red-text:#e6597e;--hue-green-text:#13e48c}@media (width<=720px){:root{--t-body:16px;--t-title:18px;--t-mono:13px;--bottom-bar-safe:max(var(--bottom-bar), calc(var(--s-2) + var(--row-touch) + env(safe-area-inset-bottom,0px)))}}@media (width>=1440px) and (pointer:fine){:root{--u:1.125;--t-body:16px;--t-title:18px;--t-label:14px;--t-mono:14px;--fs-1:9px;--fs-2:10px;--fs-3:11px;--fs-4:12px;--fs-5:14px;--fs-6:15px;--fs-7:16px;--fs-8:17px;--fs-9:18px;--fs-10:19px;--fs-11:20px;--fs-12:23px;--fs-13:25px;--fs-14:29px;--fs-15:32px;--fs-16:36px;--fs-17:45px;--ctl-sm:32px;--ctl:36px;--ctl-lg:50px;--sidebar:234px;--header:54px;--slot:560px;--dialog:675px;--row-nav:34px;--row-list:36px;--page-col:810px}}@media (width>=1920px) and (height>=1000px) and (pointer:fine){:root{--u:1.25;--t-body:18px;--t-title:20px;--t-label:15px;--t-mono:15px;--fs-1:10px;--fs-2:11px;--fs-3:13px;--fs-4:14px;--fs-5:15px;--fs-6:16px;--fs-7:18px;--fs-8:19px;--fs-9:20px;--fs-10:21px;--fs-11:23px;--fs-12:25px;--fs-13:28px;--fs-14:33px;--fs-15:35px;--fs-16:40px;--fs-17:50px;--ctl-sm:35px;--ctl:40px;--ctl-lg:55px;--sidebar:260px;--header:60px;--slot:620px;--dialog:750px;--row-nav:38px;--row-list:40px;--page-col:900px}}html,body{background:var(--field);height:100%;color:var(--ink);font:var(--t-body)/1.5 var(--font-ui);margin:0;overflow:hidden}body{overscroll-behavior:none;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;width:100%;height:100dvh;position:fixed;inset:0}#root{position:fixed;inset:0;overflow:hidden}.chrome{background:var(--field);border:var(--rule-w) solid var(--rule)}.sortable-head .sort-col{align-items:center;gap:var(--s-1);min-width:0;color:inherit;font:inherit;letter-spacing:inherit;text-align:left;cursor:pointer;background:0 0;border:none;padding:0;display:inline-flex}.sortable-head .sort-col.right{flex-direction:row-reverse;justify-content:flex-start}.sortable-head .sort-col:hover .sort-label,.sortable-head .sort-col.on{color:var(--ink)}.sortable-head .sort-col:focus-visible{outline:1px solid var(--accent);outline-offset:2px}.sortable-head .sort-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sortable-head .sort-mark{width:8px;font-size:var(--fs-1);flex:none;line-height:1;display:inline-block}.spend-head{grid-template-columns:calc(96px * var(--u)) 1fr calc(80px * var(--u)) calc(56px * var(--u));gap:var(--s-3);border-bottom:var(--rule-w) solid var(--ink);height:26px;font-size:var(--t-label);font-variant:all-small-caps;letter-spacing:var(--track-label);color:var(--muted);align-items:center;display:grid}button{font:inherit;color:inherit;cursor:pointer}:where(a:any-link){color:var(--accent);text-underline-offset:3px;text-decoration-thickness:1px}.btn{justify-content:center;align-items:center;gap:var(--s-2);box-sizing:border-box;min-height:var(--ctl);padding:0 var(--s-3);border:var(--rule-w) solid var(--rule);color:var(--ink);font-size:var(--fs-7);white-space:nowrap;background:0 0;max-width:100%;font-weight:500;line-height:1;display:inline-flex}.btn-label{text-overflow:ellipsis;min-width:0;overflow:hidden}.btn>svg{flex:none}@media (hover:hover){.btn:hover:not(:disabled):not(.on):not(.btn-primary){background:var(--wash-hover)}}.btn:active:not(:disabled):not(.on):not(.btn-primary){background:var(--wash-press)}.btn:disabled{opacity:.4;cursor:default}.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.chip:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.btn[aria-pressed=true]:not(.on),.btn[data-pressed=true]{border-color:var(--accent);color:var(--accent)}.btn-primary,.btn.on{background:var(--accent);border-color:var(--accent);color:var(--on-accent);font-weight:500}.btn-primary:hover:not(:disabled),.btn.on:hover:not(:disabled){background:var(--accent);border-color:var(--accent)}.btn-quiet:not(.on){color:var(--muted);border-color:#0000}.btn.sso{box-sizing:border-box}@media (hover:hover){.btn-quiet:not(.on):hover:not(:disabled){color:var(--ink)}}.btn-icon{width:var(--ctl);padding:0}.chip{min-height:var(--ctl-sm);border:var(--rule-w) solid var(--rule);color:var(--ink);font-size:var(--fs-6);white-space:nowrap;background:0 0;justify-content:center;align-items:center;padding:0 10px;display:inline-flex}.chip:hover{border-color:var(--rule);background:0 0}.chip.on{background:var(--accent);border-color:var(--accent);color:var(--on-accent);font-weight:600}@media (width<=600px),(pointer:coarse) and (width<=900px){.btn{min-height:var(--ctl-lg)}.btn-icon{width:var(--ctl-lg)}.chip{min-height:40px}}.field-host{position:absolute;inset:0}canvas{position:absolute;top:0;left:0}.field-fit{z-index:var(--z-chrome);background:var(--field);position:absolute;top:8px;right:8px}.panel{width:min(520px,90vw);margin:0;position:absolute;left:50%;transform:translate(-50%)}input,textarea,button{font:inherit;color:inherit}input[type=number]{appearance:textfield}input[type=number]::-webkit-inner-spin-button{appearance:none;margin:0}input[type=number]::-webkit-outer-spin-button{appearance:none;margin:0}.panel input,.detail input,.detail textarea{box-sizing:border-box;border:var(--rule-w) solid var(--rule);background:var(--field);outline:none;width:100%;padding:9px 12px}.panel input:focus,.detail input:focus,.detail textarea:focus{border-color:var(--accent)}input[type=search]::-webkit-search-cancel-button{display:none}.offline{top:calc(var(--s-4) + env(safe-area-inset-top,0px));font-size:var(--fs-6);color:var(--on-accent);background:var(--accent);z-index:var(--z-banner);pointer-events:none;margin:0;padding:6px 12px;position:absolute;left:50%;transform:translate(-50%)}.update-banner{pointer-events:auto}.start-prompt-title{font-weight:600}.update-banner-reload{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.toast{left:50%;bottom:var(--s-4);max-width:min(420px,90vw);z-index:var(--z-banner);align-items:center;gap:10px;padding:8px 10px 8px 14px;display:flex;position:absolute;transform:translate(-50%)}.toast .toast-title{text-overflow:ellipsis;white-space:nowrap;font-size:var(--fs-7);overflow:hidden}.toast .mark{vertical-align:-2px;align-items:center;margin-right:6px;display:inline-flex}.toast .tick,.toast .archived{color:var(--accent)}.empty-field{text-align:center;pointer-events:none;flex-direction:column;align-items:center;gap:12px;width:min(340px,84vw);display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.empty-field .empty-line{font-size:var(--fs-10);color:var(--ink);margin:0}.empty-field .empty-sub{font-size:var(--fs-6);color:var(--muted);margin:0;line-height:1.5}.hint,.error{left:var(--s-4);bottom:var(--s-4);font-size:var(--fs-6);color:var(--muted);pointer-events:none;-webkit-user-select:none;user-select:none;margin:0;position:absolute}.error{left:auto;right:var(--s-4);color:var(--accent)}.detail-backdrop{z-index:var(--z-panel);background:color-mix(in srgb, var(--ink) 22%, transparent);pointer-events:auto;padding:var(--s-4);justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.detail{pointer-events:auto;flex-direction:column;width:min(420px,94vw);max-height:min(84vh,720px);padding:0;display:flex;position:relative;overflow:hidden}.detail.loop-detail{height:min(84vh,720px)}.loop-detail-backdrop{justify-content:flex-end;align-items:stretch;padding:0}.loop-detail-backdrop.is-left{justify-content:flex-start}.detail.loop-detail{height:auto;max-height:none}.detail header{border-bottom:var(--rule-w) solid var(--rule);flex:none;align-items:flex-start;gap:8px;padding:14px 16px 10px;display:flex}.detail .detail-body{scrollbar-width:thin;scrollbar-color:var(--rule) transparent;scrollbar-gutter:stable;flex-direction:column;flex:1;gap:12px;padding:12px 16px;display:flex;overflow-y:auto}.detail .detail-body::-webkit-scrollbar{width:8px}.detail .detail-body::-webkit-scrollbar-track{background:0 0}.detail .detail-body::-webkit-scrollbar-thumb{background:0 0}.detail .detail-body::-webkit-scrollbar-thumb:hover{background:0 0}.detail .status{flex-wrap:wrap;flex:1;align-items:baseline;gap:6px;padding:6px 0;display:flex}.detail .status strong{font-size:var(--fs-7)}.detail .status span{font-size:var(--fs-6);color:var(--muted)}.detail .status-late strong,.detail .status-due strong,.detail .status-done strong{color:var(--accent)}.detail .save-state{font-size:var(--fs-5);color:var(--muted);text-align:right;min-width:52px;padding-top:6px}.detail .save-state.saved{color:var(--accent)}.detail .field{flex-direction:column;gap:4px;display:flex}.detail .field>span,.detail h3{font-size:var(--fs-5);text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.detail h3{border-bottom:var(--rule-w) solid var(--rule);margin:8px 0 10px;padding-bottom:5px}.detail section,.composer section{flex-direction:column;display:flex}.detail .detail-title{font-weight:600;font-size:var(--fs-10);background:0 0;border-color:#0000;padding:2px 0}.detail .detail-title:hover{border-bottom-color:var(--rule)}.detail textarea.detail-title{overflow-wrap:anywhere;min-height:0;line-height:1.3;display:block}.detail .rows{border:var(--rule-w) solid var(--rule);flex-direction:column;display:flex}.detail .rows .row+.row{border-top:var(--rule-w) solid var(--rule)}.detail .row-head{box-sizing:border-box;width:100%;min-height:var(--ctl-lg);text-align:left;cursor:pointer;font-size:var(--fs-7);background:0 0;border:none;border-radius:0;align-items:center;gap:10px;padding:6px 12px;display:flex}.detail .row-head.static{cursor:default}.detail .row-label{width:calc(74px * var(--u));font-size:var(--fs-7);color:var(--muted);flex:none}.detail .row-value{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--ink);flex:1;overflow:hidden}.detail .detail-tabs{gap:var(--s-5);border-bottom:var(--rule-w) solid var(--rule);flex:none;height:40px;display:flex}.detail .detail-tabs .subnav-tab{flex:none}.detail .detail-tabs .subnav-tab:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.detail .detail-tabpanel{gap:var(--s-5);min-width:0;min-height:calc(min(84vh, 720px) - 360px * var(--u));flex-direction:column;flex:none;display:flex}.detail .detail-field{gap:var(--s-2);flex-direction:column;min-width:0;display:flex}.detail .detail-field-label{font-size:var(--fs-5);text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.detail .detail-field .muted{margin:0}.detail .readout{color:var(--ink)}.detail .muted{color:var(--muted);font-size:var(--fs-6);margin:4px 0 0}.detail input[type=date]{min-height:var(--ctl-sm);font-size:var(--fs-6);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;padding:4px 8px}.detail textarea{resize:none;min-height:72px;overflow:hidden}.detail footer{border-top:var(--rule-w) solid var(--rule);flex-direction:column;flex:none;gap:8px;padding:12px 16px;display:flex;position:relative}.detail .footer-secondary,.detail .footer-more{gap:6px;display:flex}.detail .footer-secondary .btn,.detail .footer-more .btn{flex:1}.detail .footer-more{border-top:1px dashed var(--rule);padding-top:2px}.detail .detail-actions{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.detail .detail-actions .btn{width:100%;min-width:0}.btn.is-done,.btn.is-done[aria-pressed=true]{color:var(--muted);background:0 0;border-color:#0000}.btn.is-done:hover:not(:disabled){color:var(--ink)}.action-done{white-space:nowrap;justify-content:center;align-items:center;gap:2px;min-width:0;display:flex}.action-done-label{color:var(--good-text);font-size:var(--fs-7);font-weight:500}.action-reopen{text-underline-offset:2px;min-width:0;padding-inline:6px;text-decoration:underline}.detail .detail-actions .action-reopen{width:auto}.detail .detail-quiet-row{flex-wrap:wrap;align-items:center;gap:6px;margin-top:6px;display:flex}.detail .detail-delete.is-confirming{flex-wrap:wrap;flex:100%;align-items:center;gap:6px;display:flex}.detail .detail-delete-open.btn-quiet:not(.on):hover:not(:disabled){color:var(--bad-text)}.detail .detail-delete-note{font-size:var(--t-body);color:var(--ink);flex:100%}.detail .detail-delete-go{color:var(--bad-text);border-color:var(--bad)}.detail .snooze-popover{left:16px;right:16px;bottom:calc(100% - var(--rule-w));z-index:1;background:var(--field);border:var(--rule-w) solid var(--rule);flex-wrap:wrap;align-items:center;gap:6px;padding:10px 12px;display:flex;position:absolute}.snooze-popover .snooze-reason{min-width:0;font:inherit;flex:100%}.detail .snooze-popover .readout{font-size:var(--fs-6);color:var(--muted);margin-right:2px}.detail .snooze-popover .datefield{flex:1 1 calc(160px * var(--u));min-width:0}.loop-card{box-sizing:border-box;z-index:var(--z-panel);pointer-events:auto;gap:var(--s-3);padding:var(--s-4);flex-direction:column;display:flex;position:absolute}.loop-card.is-centred{width:min(calc(320px * var(--u)), 94vw);top:50%;left:50%;transform:translate(-50%,-50%)}.loop-card-head{align-items:flex-start;gap:8px;display:flex}.loop-card-title{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.loop-card-title strong{font-size:var(--fs-9);overflow-wrap:anywhere;font-weight:600;line-height:1.25}.loop-card-status{font-family:var(--font-mono);font-size:var(--t-mono);color:var(--muted);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.loop-card-close{flex:none;margin:-8px -8px 0 0}.loop-card-actions{gap:var(--s-2);grid-template-columns:repeat(3,1fr);display:grid}.loop-card-actions .btn{min-width:0}.loop-card-status.tone-late,.loop-card-status.tone-due{color:var(--accent)}.loop-card-snooze{align-items:center;gap:var(--s-2);flex-wrap:wrap;display:flex}.loop-card-snooze .readout{font-size:var(--fs-6);color:var(--muted)}.loop-card-snooze .datefield{flex:1 1 calc(140px * var(--u));min-width:0}.loop-card-extra{font-size:var(--fs-6);color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px;display:flex}.loop-card-extra .idea-note-field{flex:1 1 calc(120px * var(--u))}.loop-card-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 8px;display:flex}.loop-card-foot .btn{min-width:0}@media (width<=600px),(pointer:coarse) and (width<=900px){.loop-card,.loop-card.is-centred{width:100%;padding:var(--s-4) var(--s-4) calc(var(--s-4) + env(safe-area-inset-bottom,0px));border-bottom:none;border-left:none;border-right:none;inset:auto 0 0;transform:none}}.detail .detail-tabpanel textarea{width:100%;font-size:var(--fs-7);resize:none;padding:10px 12px;line-height:1.5}.detail .history-block{flex-direction:column;gap:6px;display:flex}.detail .history-caption{font-size:var(--fs-5);color:var(--muted)}.history-legend{align-items:center;gap:var(--s-1) var(--s-3);font-size:var(--fs-5);color:var(--muted);flex-wrap:wrap;margin:0;display:flex}.history-key{width:10px;height:10px;margin-right:var(--s-1);background:color-mix(in srgb, var(--rule) 60%, transparent);display:inline-block}.history-key.done{background:var(--accent)}.history-key.today{outline:1px solid var(--accent);background:0 0}.detail .sub{flex-direction:column;gap:6px;display:flex}.detail .sub+.sub{border-top:var(--rule-w) solid var(--rule);margin-top:10px;padding-top:10px}.detail .sub-label{font-size:var(--fs-5);color:var(--muted)}.free-skip{border-top:var(--rule-w) solid var(--rule);margin-top:10px;padding-top:10px}.free-skip-toggle{justify-content:space-between;align-items:center;gap:var(--s-3);width:100%;min-height:var(--ctl);font:inherit;font-size:var(--fs-6);color:var(--ink);cursor:pointer;text-align:left;background:0 0;border:none;max-width:420px;padding:0;display:flex}.free-skip .muted{font-size:var(--fs-6);color:var(--muted);margin:4px 0 0}.free-skip-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (width<=720px){.free-skip-toggle{min-height:var(--ctl-lg)}}.detail .size-line{font-size:var(--fs-6);color:var(--muted);margin:-4px 0 4px}.detail .size-line.heavy{color:var(--accent)}.detail input:focus-visible,.detail textarea:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.detail .chips,.composer .chips{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.composer .dup-warning{font-size:var(--fs-6);color:var(--accent);margin:0}.history-dots{grid-template-rows:repeat(7,10px);grid-auto-columns:10px;grid-auto-flow:column;gap:3px;display:grid}.history-dots span{background:color-mix(in srgb, var(--rule) 60%, transparent)}.history-dots span.done{background:var(--accent)}.history-dots span.today{outline:1px solid var(--accent)}.login{flex-direction:column;gap:8px;width:min(320px,90vw);display:flex;top:50%;transform:translate(-50%,-50%)}.login .wordmark{margin-bottom:var(--s-2);border-bottom:var(--rule-w) solid var(--rule);padding:0 0 14px}.login .error{min-height:calc(var(--fs-6) * 1.4);text-align:center;color:var(--bad-text);line-height:1.4;position:static}@media (width<=600px),(pointer:coarse) and (width<=900px){.login{top:auto;bottom:calc(var(--s-4) + env(safe-area-inset-bottom,0px));transform:translate(-50%)}.day-cell{min-height:var(--ctl-lg)}}.review-banner{top:var(--s-4);z-index:var(--z-banner);max-width:min(560px,94vw);font-size:var(--fs-7);align-items:center;gap:8px;padding:8px 10px 8px 14px;display:flex;position:absolute;left:50%;transform:translate(-50%)}.review-banner .review-count{color:var(--muted);font-variant-numeric:tabular-nums;flex:none}.review-banner .review-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:600;overflow:hidden}@media (width<=600px),(pointer:coarse) and (width<=900px){.review-banner{top:var(--s-2);left:var(--s-4);right:var(--s-4);row-gap:var(--s-2);max-width:none;padding:var(--s-2);flex-wrap:wrap;transform:none}.review-banner .review-title{flex-basis:calc(100% - 4em)}.review-banner .btn{flex:1 1 0}}.modal-backdrop{z-index:var(--z-modal);background:#0000008c;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.modal{flex-direction:column;gap:12px;width:min(360px,92vw);padding:14px;display:flex}.modal header{justify-content:space-between;align-items:center;display:flex}.modal.help{width:min(calc(520px * var(--u)), 92vw);max-height:calc(100% - 2 * var(--s-4));box-sizing:border-box;min-height:0}.help-scroll{--help-fade:var(--s-6);gap:var(--s-4);overscroll-behavior:contain;flex-direction:column;min-height:0;display:flex;overflow-y:auto}.help-scroll:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.help-scroll[data-more=end]{-webkit-mask-image:linear-gradient(to bottom, black calc(100% - var(--help-fade)), transparent);-webkit-mask-image:linear-gradient(to bottom, black calc(100% - var(--help-fade)), transparent);mask-image:linear-gradient(to bottom, black calc(100% - var(--help-fade)), transparent)}.help-scroll[data-more=start]{-webkit-mask-image:linear-gradient(to bottom, transparent, black var(--help-fade));-webkit-mask-image:linear-gradient(to bottom, transparent, black var(--help-fade));mask-image:linear-gradient(to bottom, transparent, black var(--help-fade))}.help-scroll[data-more=both]{-webkit-mask-image:linear-gradient(to bottom, transparent, black var(--help-fade), black calc(100% - var(--help-fade)), transparent);-webkit-mask-image:linear-gradient(to bottom, transparent, black var(--help-fade), black calc(100% - var(--help-fade)), transparent);mask-image:linear-gradient(to bottom, transparent, black var(--help-fade), black calc(100% - var(--help-fade)), transparent)}.help-group{flex:none}.help-group-title{align-items:center;gap:var(--s-2);margin:0 0 var(--s-2);font-size:var(--fs-4);font-variant:all-small-caps;letter-spacing:var(--track-label);color:var(--muted);font-weight:500;display:flex}.help-group-title:after{content:"";height:var(--rule-w);background:var(--rule);flex:1}.help-list{grid-template-columns:calc(190px * var(--u)) minmax(0, 1fr);gap:var(--s-2) var(--s-4);align-items:baseline;margin:0;display:grid}.help-row{display:contents}.help-row dt,.help-row dd{margin:0}.help-row dd{font-size:var(--fs-7);color:var(--muted)}.help-gesture{font-size:var(--fs-7)}.help-keys{align-items:center;gap:var(--s-1);white-space:nowrap;display:inline-flex}.help-chip{align-items:center;gap:2px;display:inline-flex}.help-plus,.help-joiner{font-size:var(--fs-6);color:var(--muted)}@media (width<=600px){.help-list{grid-template-columns:minmax(0,1fr);row-gap:0}.help-row{padding:var(--s-1) 0;display:block}.help-row dd{margin-top:2px}}kbd{font:var(--t-mono)/1.4 var(--font-mono);font-variant-numeric:tabular-nums;border:var(--rule-w) solid var(--rule);background:0 0;padding:2px 7px}.symbol-grid{scrollbar-width:thin;scrollbar-color:var(--rule) transparent;grid-template-columns:repeat(6,1fr);gap:6px;max-height:min(52vh,420px);display:grid;overflow-y:auto}.symbol-cell{min-height:var(--ctl-lg);border:var(--rule-w) solid var(--rule);cursor:pointer;color:var(--ink);background:0 0;justify-content:center;align-items:center;display:flex}.symbol-cell:hover{background:0 0}.symbol-cell.on{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 25%, transparent)}.symbol-cell:focus-visible{outline:2px solid var(--accent)}.symbol-tile{width:var(--ctl);min-height:var(--ctl);font-size:var(--fs-13);border:var(--rule-w) solid var(--rule);color:var(--ink);background:0 0;justify-content:center;align-items:center;padding:0;line-height:1;display:inline-flex}.symbol-tile.empty{font-size:var(--fs-12);color:var(--muted);background:0 0;border-style:dashed}.symbol-tile:hover{border-color:var(--accent)}.symbol-wrap{display:inline-block;position:relative}.symbol-clear{border:1px solid var(--accent);background:var(--field);width:18px;height:18px;min-height:0;color:var(--ink);font-size:var(--fs-6);cursor:pointer;border-radius:50%;padding:0;line-height:1;position:absolute;top:-7px;right:-7px}.symbol-clear:hover{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.category-field{align-items:center;gap:var(--s-2);width:100%;max-width:calc(320px * var(--u));min-height:var(--ctl);text-align:left;color:var(--ink);justify-content:flex-start;padding:0 12px;display:inline-flex}.category-field.empty{color:var(--muted)}.category-field>svg{color:var(--muted);flex:none}.category-field:hover>svg{color:var(--accent)}.category-field-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.category-dot{border:var(--rule-w) solid var(--rule);border-radius:50%;flex:none;width:10px;height:10px}.category-dot[style]{border-color:#0000}.modal-backdrop.category-backdrop{padding:var(--s-4);position:fixed}.modal.category-modal{width:min(calc(640px * var(--u)), 100%);max-height:100%}.category-grid{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:minmax(var(--ctl-lg), auto);gap:var(--s-2);scrollbar-width:thin;scrollbar-color:var(--rule) transparent;min-height:0;display:grid;overflow-y:auto}.category-tile{align-items:center;gap:var(--s-2);min-width:0;padding:var(--s-1) var(--s-3);border:var(--rule-w) solid var(--rule);font:inherit;font-size:var(--t-body);color:var(--ink);text-align:left;cursor:pointer;background:0 0;display:flex}.category-tile:hover{border-color:var(--accent)}.category-tile.none{color:var(--muted)}.category-tile.on{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 18%, transparent);font-weight:500}.category-tile:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.category-tile-name{overflow-wrap:break-word;flex:auto;min-width:0}.category-tile{flex-wrap:wrap}.category-tile-note,.category-field-note{font-size:var(--t-mono);color:var(--muted);flex:none;margin-left:auto}.category-tile>svg{flex:none}.category-tile-action{color:var(--muted);border-style:dashed}.category-tile-action:hover{color:var(--ink)}@media (width<=900px){.category-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=600px){.modal.category-modal{width:100%}.category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.category-field{max-width:none;min-height:var(--ctl-lg)}.category-tile{font-size:var(--fs-9)}}.legend{left:var(--s-5);right:var(--s-5);bottom:calc(var(--s-4) + env(safe-area-inset-bottom,0px));gap:var(--s-2);pointer-events:none;flex-flow:wrap;display:flex;position:absolute}.legend-item{align-items:center;gap:var(--s-2);height:24px;padding:0 var(--s-2);border:var(--rule-w) solid transparent;font-size:var(--t-label);font-variant:all-small-caps;letter-spacing:.12em;color:var(--muted);cursor:pointer;text-align:left;pointer-events:auto;background:0 0;display:flex}.legend-item:hover{color:var(--ink);background:0 0}.legend-item.on{color:var(--ink);border-color:var(--rule);background:var(--field)}.legend .dot{border-radius:50%;flex:none;width:8px;height:8px}.legend-note{align-self:center;align-items:center;gap:var(--s-2);height:24px;padding:0 var(--s-2);font-size:var(--t-label);font-variant:all-small-caps;letter-spacing:.12em;color:var(--muted);white-space:nowrap;pointer-events:none;margin-left:auto;display:flex}.legend-tick{border-left:1.5px solid;flex:none;width:0;height:10px}.cup-view{z-index:var(--z-banner);background:var(--field);flex-direction:column;display:flex;position:absolute;inset:0}.cup-stage{flex:1 1 0;min-height:0;position:relative}.cup-stage canvas{cursor:default;display:block;position:absolute;inset:0}.cup-header{max-width:calc(100% - 2 * var(--s-4));margin:var(--s-4) var(--s-4) 0;box-sizing:border-box;flex-wrap:wrap;flex:none;align-self:flex-start;align-items:center;gap:10px;padding:6px 6px 6px 12px;display:flex}.cup-header span{color:var(--muted);font-size:var(--fs-7)}.cup-hint{padding:var(--s-2) var(--s-4) var(--s-3);text-align:center;font-size:var(--fs-6);color:var(--muted);flex:none;margin:0}.cup-list{padding:var(--s-3) var(--s-4);background:var(--field);margin:0;list-style:none;position:absolute;inset:0;overflow-y:auto}.cup-list-row{align-items:center;column-gap:var(--s-3);min-height:var(--row-list);padding:var(--s-1) 0;border-bottom:var(--rule-w) solid var(--rule);grid-template-columns:minmax(0,1fr) auto;display:grid}.cup-list-title{overflow-wrap:anywhere;min-width:0}.cup-list-meta{font-size:var(--t-mono);color:var(--muted);grid-column:1}.cup-list-row .btn{grid-area:1/2/span 2}.tune{top:var(--s-4);left:var(--s-4);bottom:calc(var(--s-4) + var(--ctl));width:calc(260px * var(--u));border:var(--rule-w) solid var(--rule);background:var(--field);font-size:var(--fs-5);padding:10px 12px;position:absolute;overflow-y:auto}.tune header{align-items:center;gap:6px;margin-bottom:6px;display:flex}.tune header strong{font-size:var(--fs-6);flex:1}.tune button{border:var(--rule-w) solid var(--rule);cursor:pointer;font-size:var(--fs-5);background:0 0;padding:3px 8px}.tune h4{font-size:var(--fs-5);text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:10px 0 4px}.tune label{grid-template-columns:1fr auto;gap:0 8px;margin:4px 0;display:grid}.tune label span{color:var(--muted)}.tune label output{font-variant-numeric:tabular-nums;color:var(--ink)}.tune label input[type=range]{grid-column:1/-1;width:100%;margin:0}.tune .tune-toggle{align-items:center;gap:6px;display:flex}.settings-page{--cols-icon:var(--ctl);flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.subnav-tab{font:inherit;font-size:var(--t-body);cursor:pointer;background:0 0;border-top:none;border-left:none;border-right:none;padding:0}.settings-panel{width:100%;min-width:0;min-height:0;max-width:var(--page-col);box-sizing:border-box;padding:var(--s-5);gap:var(--s-5);scrollbar-width:thin;scrollbar-color:var(--rule) transparent;scrollbar-gutter:stable;flex-direction:column;flex:1;display:flex;overflow-y:auto}.settings-section{gap:var(--s-2);flex-direction:column;display:flex}.settings-caption{align-items:center;gap:var(--s-2);display:flex}.settings-caption-label{font-size:var(--fs-4);font-variant:all-small-caps;letter-spacing:var(--track-label);color:var(--muted);white-space:nowrap}.settings-caption-rule{height:var(--rule-w);background:var(--rule);flex:1}.settings-caption-hint{font-size:var(--fs-4);color:var(--muted);text-wrap:balance}.settings .muted{font-size:var(--fs-6);color:var(--muted);margin:0}.settings-row{gap:var(--s-2);flex-wrap:wrap;display:flex}.btn-bad{border-color:var(--bad);color:var(--bad-text)}.settings-field{height:var(--ctl);border:var(--rule-w) solid var(--rule);align-items:center;gap:var(--s-2);padding:0 12px;display:flex}.settings-field:focus-within{border-color:var(--accent)}.settings-field input{min-width:0;font:inherit;color:var(--ink);background:0 0;border:none;outline:none;flex:1}.figure-field{width:calc(96px * var(--u));height:var(--ctl);box-sizing:border-box;border:var(--rule-w) solid var(--rule);align-items:center;gap:6px;padding:0 12px;display:flex}.figure-field:focus-within{border-color:var(--accent)}.figure-field input{width:100%;min-width:0;color:var(--ink);font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--fs-6);text-align:right;appearance:textfield;background:0 0;border:none;outline:none;flex:1}.figure-field input::-webkit-outer-spin-button{appearance:none;margin:0}.figure-field input::-webkit-inner-spin-button{appearance:none;margin:0}.figure-unit{font-size:var(--fs-4);color:var(--muted);flex:none}.settings .category-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.settings .category-list li,.settings .category-head{gap:var(--s-2);border-bottom:var(--rule-w) solid var(--rule);font-size:var(--fs-7);align-items:center;display:grid}.settings .category-list li{height:36px}.settings .category-head{height:var(--ctl);font-size:var(--t-label);font-variant:all-small-caps;letter-spacing:var(--track-label);color:var(--muted)}.cols-categories,.cols-categories>li{grid-template-columns:var(--cols-icon) minmax(0, 1fr) auto var(--cols-track) var(--cols-icon) var(--cols-icon);--cols-track:calc(96px * var(--u))}.category-head.cols-categories>:first-child{padding-left:calc(var(--s-3) + var(--rule-w));grid-column:2}.category-head.cols-categories>:nth-child(2){grid-column:3;justify-self:end}.category-head.cols-categories>:nth-child(3){padding-left:var(--s-2);grid-column:4;justify-self:start}.track-loop{white-space:nowrap;justify-content:flex-start;align-items:center;gap:var(--s-1);min-height:var(--ctl);padding:0 var(--s-2);cursor:pointer;display:inline-flex}.category-name-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.settings .track-loop input{width:18px;height:18px;accent-color:var(--accent);margin:0}.track-loop-word{font-size:var(--t-mono);color:var(--muted)}.track-loop.is-off{cursor:default;opacity:.6}.cols-goals,.cols-goals>li{grid-template-columns:8px 1fr calc(96px * var(--u)) 1fr}.category-head.cols-goals>:first-child{grid-column:2}.category-head.cols-goals>:nth-child(2){grid-column:3}.cols-rewards,.cols-rewards>li{grid-template-columns:1fr calc(96px * var(--u)) calc(96px * var(--u)) var(--cols-icon) var(--cols-icon)}.cols-passkeys,.cols-passkeys>li{grid-template-columns:1fr auto var(--cols-icon)}.settings .category-list .name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.settings .category-list .btn.name{text-align:left;color:var(--ink);cursor:text;text-overflow:ellipsis;white-space:nowrap;border-color:#0000;justify-content:flex-start;overflow:hidden}.settings .category-list .btn.name:hover{border-color:var(--rule)}.settings .category-list .btn.name .name-text{text-overflow:ellipsis;text-align:left;flex:1;min-width:0;overflow:hidden}.settings .category-list input.name{width:100%;height:var(--ctl);box-sizing:border-box;border:var(--rule-w) solid var(--rule);color:var(--ink);font:inherit;font-size:var(--fs-7);background:0 0;outline:none;padding:0 8px}.settings .category-list input.name:focus{border-color:var(--accent)}.settings .category-list .added{font-size:var(--fs-5);color:var(--muted);white-space:nowrap}.settings .style-toggle{gap:3px}.settings .style-toggle.is-open{border-color:var(--rule);color:var(--ink)}.settings .swatch{border-radius:50%;flex:none;width:8px;height:8px}.settings .category-list .btn.remove:hover{color:var(--bad-text);border-color:var(--bad)}.settings .category-list .btn.merge.is-open{border-color:var(--rule);color:var(--ink)}.settings .category-list li.style-editor{height:auto;padding:8px 0 16px calc(var(--cols-icon) + var(--s-2));border-bottom:none;flex-direction:column;align-items:stretch;gap:12px;display:flex}.settings .category-list .category-notes{width:100%;min-height:var(--ctl);box-sizing:border-box;border:var(--rule-w) solid var(--rule);color:var(--ink);font:inherit;font-size:var(--fs-7);resize:vertical;background:0 0;outline:none;flex:100%;padding:8px}.settings .category-list .category-notes:focus{border-color:var(--accent)}.hue-picker,.icon-picker{gap:var(--s-2);flex-wrap:wrap;display:flex}.hue-swatch{border:var(--rule-w) solid var(--rule);width:24px;height:24px;padding:0}.hue-swatch.on{outline:1px solid var(--ink);outline-offset:2px}.hue-swatch:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.icon-cell{width:var(--ctl);color:var(--muted);padding:0}.icon-cell.on{color:var(--on-accent)}.settings .category-list li.merge-editor{align-items:center;gap:var(--s-2);height:auto;padding:8px 0 16px calc(var(--cols-icon) + var(--s-2));border-bottom:none;flex-wrap:wrap;display:flex}.settings .merge-target{width:calc(200px * var(--u));height:var(--ctl);box-sizing:border-box;border:var(--rule-w) solid var(--rule);color:var(--ink);font:inherit;background:0 0;padding:0 12px}.settings .merge-go.armed{border-color:var(--bad);color:var(--bad-text)}.settings .merge-note{text-align:right;color:var(--muted);font-size:var(--fs-5);flex:1}.opt-row{gap:var(--s-2);display:flex}.opt-row .opt{flex:1}.opt{justify-content:center;align-items:center;gap:var(--s-2);height:var(--ctl);border:var(--rule-w) solid var(--rule);color:var(--ink);font:inherit;font-size:var(--fs-6);font-variant-numeric:tabular-nums;cursor:pointer;background:0 0;padding:0 12px;font-weight:500;display:inline-flex}.opt:hover{border-color:var(--accent)}.opt.on{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.opt:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.weight-spark svg{width:100%;height:40px}.reward-form{gap:var(--s-2);padding:var(--s-2) 0;flex-direction:column;display:flex}.reward-form-row{align-items:center;gap:var(--s-2);min-width:0;display:flex}.reward-form-name{flex:1;min-width:0}.reward-form-name input{min-width:0;color:var(--ink);font:inherit;font-size:var(--fs-6);background:0 0;border:none;outline:none;flex:1}.reward-form-kinds{flex:1;min-width:0}.reward-form-amount{flex:none}.reward-form-foot{justify-content:flex-end;align-items:center;gap:var(--s-2);display:flex}.reward-form-error{min-width:0;font-size:var(--fs-6);color:var(--bad-text);flex:1}.reward-add{align-self:flex-start}.reward-archived{gap:var(--s-1);flex-direction:column;display:flex}.reward-archived-toggle{color:var(--muted);align-self:flex-start}.reward-archived-list{margin:0;padding:0;list-style:none}.reward-archived-list li{align-items:center;gap:var(--s-2);min-height:var(--ctl);padding:var(--s-1) 0;border-bottom:var(--rule-w) solid var(--rule);display:flex}.reward-archived-name{padding-left:calc(var(--s-3) + var(--rule-w));text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--muted);flex:1;overflow:hidden}@media (width<=600px),(pointer:coarse) and (width<=900px){.cols-rewards,.cols-rewards>li{grid-template-columns:1fr calc(72px * var(--u)) calc(72px * var(--u)) var(--cols-icon) var(--cols-icon)}.cols-rewards .figure-field{width:calc(72px * var(--u));padding:0 8px}.cols-rewards .reward-row .carry{display:none}.reward-form-row{flex-wrap:wrap}.reward-form-kinds{flex-basis:100%}.reward-form .settings-field,.reward-form .figure-field,.reward-archived-list li{min-height:var(--ctl-lg);height:var(--ctl-lg)}}.month-step{align-items:center;display:flex}.month-readout{height:var(--ctl);border-top:var(--rule-w) solid var(--rule);border-bottom:var(--rule-w) solid var(--rule);font-size:var(--fs-5);align-items:center;padding:0 12px;display:inline-flex}.settings .goal-notes{gap:var(--s-2);white-space:nowrap;min-width:0;display:flex;overflow:hidden}.settings .readout,.settings .carry{font-size:var(--fs-5);color:var(--muted)}.settings .rate-row{align-items:center;gap:var(--s-3);display:flex}.journal-template-head{grid-template-columns:1fr var(--cols-icon);gap:var(--s-2);align-items:center;height:36px;display:grid}.journal-template-head input{height:var(--ctl);box-sizing:border-box;border:var(--rule-w) solid var(--rule);color:var(--ink);font:inherit;background:0 0;padding:0 12px}.journal-template-head input:focus{border-color:var(--accent);outline:none}.journal-template-actions{gap:var(--s-2);display:flex}@media (width<=720px){.settings-panel{padding:var(--s-4)}.cols-goals,.cols-goals>li{grid-template-columns:8px minmax(0, 1fr) calc(96px * var(--u))}.settings .category-list li.goal-row{height:auto;min-height:var(--ctl-lg);padding:var(--s-1) 0;row-gap:0}.settings .goal-notes{grid-column:2/-1}}@media (width<=600px),(pointer:coarse) and (width<=900px){.settings-page{--cols-icon:var(--ctl-lg)}.cols-categories,.cols-categories>li{grid-template-columns:var(--cols-icon) minmax(0, 1fr) var(--cols-track) var(--cols-icon) var(--cols-icon);--cols-track:var(--ctl-lg)}.track-loop{justify-content:center;padding:0}.track-loop-word{display:none}.category-head.cols-categories>:nth-child(3){justify-self:center;padding-left:0;font-size:0}.category-head.cols-categories>:nth-child(3):after{content:"Loop";font-size:var(--t-label)}.settings .category-list .added,.category-head.cols-categories>:nth-child(2){display:none}.category-head.cols-categories>:nth-child(3){grid-column:3}.track-loop{min-height:var(--ctl-lg)}.icon-cell{width:var(--ctl-lg)}.opt,.settings .category-list li,.journal-template-head,.settings .category-list input.name,.figure-field,.settings-field,.settings .merge-target,.month-readout{height:var(--ctl-lg)}.settings .category-list .category-notes{min-height:var(--ctl-lg)}.journal-template-head input{height:var(--ctl-lg)}}.composer{top:calc(var(--s-4) + var(--ctl) + var(--s-3));left:var(--s-4);width:min(var(--sidebar), 90vw);box-sizing:border-box;max-height:calc(100vh - calc(var(--s-4) + var(--ctl) + var(--s-3)) - var(--s-4));padding:var(--s-3);flex-direction:column;gap:12px;display:flex;position:absolute;overflow-y:auto}.composer input{box-sizing:border-box;border:var(--rule-w) solid var(--rule);background:var(--field);outline:none;width:100%;padding:9px 12px}.composer input:focus{border-color:var(--accent)}.composer .muted{font-size:var(--fs-6);color:var(--muted);margin:0}.hint{white-space:nowrap;left:50%;transform:translate(-50%)}@media (width<=600px),(pointer:coarse) and (width<=900px){.composer{top:auto;left:0;right:0;bottom:var(--kb,0px);width:auto;max-height:min(70vh,560px);padding:12px 14px calc(14px + env(safe-area-inset-bottom,0px));z-index:var(--z-panel);border-bottom:none;transition:bottom .12s}.composer input{font-size:var(--fs-9)}}.loops-field{flex-direction:column;display:flex}.loops-field>.field-host{flex:1;min-height:0;position:relative;inset:auto}.loops-field>.legend{margin:var(--s-2) var(--s-5) calc(var(--s-4) + env(safe-area-inset-bottom,0px));flex:none;position:relative;inset:auto}@media (width<=600px),(pointer:coarse) and (width<=900px){.legend-item{height:auto;min-height:var(--row-edit)}.loops-field>.legend{margin:var(--s-1) 0 calc(var(--s-2) + env(safe-area-inset-bottom,0px));padding:0 var(--s-5);pointer-events:auto;flex-wrap:nowrap}.loops-field>.legend .legend-item,.loops-field>.legend .legend-note{white-space:nowrap;flex:none}.loops-field>.legend .legend-note{margin-left:var(--s-3)}}.sheet-handle{display:none}@media (width<=600px),(pointer:coarse) and (width<=900px){.detail-backdrop{pointer-events:auto;background:#00000073;align-items:stretch;padding:0}.detail{width:100%;max-height:none;z-index:var(--z-panel);border:none;border-radius:0}.detail.loop-detail{height:auto}.detail header{padding-top:calc(10px + env(safe-area-inset-top,0px))}.detail .detail-body{padding:12px 14px}.sheet-handle{touch-action:none;cursor:grab;background:0 0;width:44px;height:5px;margin:4px auto 6px;display:block}.symbol-tile{width:var(--ctl-lg);min-height:var(--ctl-lg)}.detail input,.detail textarea{font-size:var(--fs-9)}.detail textarea.detail-title{min-height:var(--ctl-lg);padding:10px 0}.modal{width:min(420px,94vw)}.symbol-cell{min-height:52px;font-size:var(--fs-14)}.detail footer{padding:10px 14px calc(10px + env(safe-area-inset-bottom,0px))}.detail .snooze-popover{left:14px;right:14px}}@media (width<=720px){.loop-detail-backdrop{top:0;left:0;right:0;bottom:var(--bottom-bar-safe);position:fixed}.loop-detail .sheet-handle{z-index:2;height:var(--s-3);margin:0;position:absolute;top:0;left:50%;translate:-50%}.loop-detail header{padding:env(safe-area-inset-top,0px) var(--s-1) 0 14px;align-items:center}.loop-detail .status{padding:0}.loop-detail .save-state{padding-top:0}.loop-detail .detail-body{gap:var(--s-2);padding-top:var(--s-2)}.loop-detail .detail-tabs{top:calc(-1 * var(--s-2));z-index:1;background:var(--field);column-gap:var(--s-4);height:auto;min-height:var(--row-edit);position:sticky}.loop-detail footer{gap:var(--s-1);padding:var(--s-2) 14px}.loop-detail .detail-quiet-row{margin-top:0}}.history-dots span.pad{background:0 0}.day-picker{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.day-grid{width:100%;max-width:calc(260px * var(--u));grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.day-cell{min-height:var(--ctl-sm);min-width:var(--ctl-sm);font-size:var(--fs-6);font-variant-numeric:tabular-nums;color:var(--ink);border:var(--rule-w) solid var(--rule);background:0 0;padding:0}.day-cell:hover{background:0 0}.day-cell.on{background:var(--accent);border-color:var(--accent);color:var(--on-accent);font-weight:600}@media (width<=600px),(pointer:coarse) and (width<=900px){.day-grid{gap:6px;max-width:none}.day-cell{min-height:var(--ctl-lg);font-size:var(--fs-7)}}.reward-editor{gap:var(--s-2);flex-direction:column;display:flex}.reward-field{align-items:center;gap:var(--s-2);display:flex}.reward-label{width:calc(74px * var(--u));font-size:var(--fs-6);color:var(--muted);flex:none}.reward-input{width:calc(72px * var(--u));box-sizing:border-box;border:var(--rule-w) solid var(--rule);min-width:0;color:var(--ink);font:inherit;font-size:var(--fs-7);background:0 0;padding:6px 8px}.reward-input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.reward-unit{font-size:var(--t-mono);color:var(--muted)}.shell{grid-template-columns:var(--sidebar) 1fr;height:100%;display:grid}.sidebar{padding:var(--s-4) 0 var(--s-3);border-right:var(--rule-w) solid var(--rule);flex-direction:column;min-height:0;display:flex}.wordmark{padding:0 var(--s-4) 14px;justify-content:space-between;align-items:center;display:flex}.wordmark-name{font-size:var(--fs-7);letter-spacing:var(--track-label);font-weight:500}.wordmark-rev{font-size:var(--fs-4);color:var(--muted)}.nav-groups,.nav-foot{padding:0 var(--s-2);flex-direction:column;gap:2px;display:flex}.nav-groups{min-height:0;overflow-y:auto}.nav-foot{border-top:var(--rule-w) solid var(--rule);margin-top:auto;padding-top:10px}.nav-group+.nav-group{margin-top:var(--s-3)}.nav-group-label{align-items:center;gap:var(--s-2);height:20px;padding:0 var(--s-2);font-size:var(--t-label);font-variant:all-small-caps;letter-spacing:var(--track-label);color:var(--muted);display:flex}.nav-group-rule{height:var(--rule-w);background:var(--rule);flex:1}.nav-item{height:var(--row-nav);padding:0 var(--s-2);color:var(--ink);border-left:var(--rule-active) solid transparent;padding-left:calc(var(--s-2) - var(--rule-active) + var(--s-2));margin-left:calc(var(--s-2) * -1);align-items:center;gap:10px;text-decoration:none;display:flex}.nav-item:hover{color:var(--accent)}.nav-item.active{color:var(--accent);border-left-color:var(--accent);font-weight:500}.nav-logout{font:inherit;text-align:left;cursor:pointer;background:0 0;border-top:none;border-bottom:none;border-right:none}.nav-label{flex:1}.nav-key{font-size:var(--fs-4);color:var(--muted)}.theme-toggle{height:var(--row-nav);padding:0 var(--s-2);font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;display:flex}.theme-name{align-items:center;gap:10px;display:flex}.switch,.fin-switch{box-sizing:border-box;border:var(--rule-w) solid var(--rule);cursor:pointer;flex:none;width:28px;height:16px;transition:background .12s,border-color .12s;display:inline-block;position:relative}.switch:after,.fin-switch:after{content:"";background:var(--muted);width:10px;height:10px;transition:left .12s,background .12s;position:absolute;top:2px;left:2px}.switch.on,.fin-toggle input:checked+.fin-switch{background:var(--accent);border-color:var(--accent)}.switch.on:after,.fin-toggle input:checked+.fin-switch:after{background:var(--on-accent);left:calc(100% - 12px)}.main{flex-direction:column;min-width:0;min-height:0;display:flex}.header{grid-template-columns:1fr minmax(0, var(--slot)) 1fr;column-gap:var(--s-4);height:var(--header);padding:0 var(--s-5);border-bottom:var(--rule-w) solid var(--rule);align-items:center;display:grid}.header-left{align-items:baseline;gap:10px;min-width:0;display:flex}.page-title{font-size:var(--t-title);white-space:nowrap;margin:0;font-weight:500}.header-date{text-overflow:ellipsis;min-width:0;font-size:var(--t-mono);color:var(--muted);white-space:nowrap;overflow:hidden}.header-right{justify-content:flex-end;display:flex}.key{font-size:var(--fs-4);border:var(--rule-w) solid var(--rule);padding:1px 5px}.btn-key{font-size:var(--fs-4);opacity:.7;margin-left:var(--s-1)}@media (pointer:coarse),(width<=720px){.key,.btn-key:not(.is-info),.kbd-only,.nav-key,.cat-key,.hint,.new-loop-keys,.fin-edit-hint,.project-new-hint,.fin-picker-key{display:none}}.page{flex-direction:column;flex:1;min-height:0;display:flex;position:relative;overflow:hidden}.loops{flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.loops-subnav{align-items:center;gap:var(--s-4);height:40px;padding:0 var(--s-5);border-bottom:var(--rule-w) solid var(--rule);flex:none;display:flex}.loops-subnav-add{display:none}.loops-verbs{display:contents}.loops-readout{font-size:var(--t-mono);font-variant-numeric:tabular-nums;color:var(--muted);white-space:nowrap;margin-left:auto}.loops-field{flex:1;min-height:0;position:relative}body:has(.loops-field) .toast-stack{bottom:calc(var(--s-4) + 24px + var(--s-2))}.loops-search .fin-search-field{appearance:none;min-height:0;padding:0}.loops-search .fin-search-field::-webkit-search-cancel-button{display:none}.loops-search-count{font-size:var(--t-mono);color:var(--muted);white-space:nowrap;flex:none}.loops-search-count:empty{display:none}@media (width<=600px),(pointer:coarse) and (width<=900px){.loops-subnav{column-gap:var(--s-3);height:auto;padding:0 var(--s-4);flex-wrap:wrap;row-gap:0}.loops-subnav .fin-tabs{height:var(--ctl-lg);order:1}.loops-readout,.loops-subnav>.kbd-only{order:2}.loops-readout{white-space:normal;text-align:right;min-width:0;font-size:var(--fs-4);flex:1 1 0}.loops-verbs{order:3;flex:1 1 calc(100% - 2 * var(--ctl-lg) - var(--s-3) - var(--s-2));gap:var(--s-1);min-width:0;padding-bottom:var(--s-2);flex-wrap:wrap;display:flex}.loops-verbs>.btn{flex:none}.loops-verbs>.btn-quiet{padding:0 var(--s-2)}.loops-subnav-add{display:inline-flex}body:has(.loops-field) .toast-stack{bottom:calc(var(--s-4) + 76px + var(--s-2) + env(safe-area-inset-bottom,0px))}}.loop-card .opt,.journal .opt,.log .opt,.rec .opt,.tasks .opt,.fit-page .opt,.fin-subnav .opt,.fin-page .opt,.fin-settings .opt,.new-loop .chip{justify-content:center;align-items:center;gap:var(--s-2);min-height:var(--ctl);padding:0 var(--s-3);border:var(--rule-w) solid var(--rule);color:var(--ink);font-size:var(--fs-7);white-space:nowrap;cursor:pointer;background:0 0;font-weight:500;line-height:1;display:inline-flex}@media (hover:hover){.loop-card .opt:hover:not(:disabled):not(.on),.journal .opt:hover:not(:disabled):not(.on),.log .opt:hover:not(:disabled):not(.on),.rec .opt:hover:not(:disabled):not(.on),.tasks .opt:hover:not(:disabled):not(.on),.fit-page .opt:hover:not(:disabled):not(.on),.fin-subnav .opt:hover:not(:disabled):not(.on),.fin-page .opt:hover:not(:disabled):not(.on),.fin-settings .opt:hover:not(:disabled):not(.on),.new-loop .chip:hover:not(:disabled):not(.on){background:var(--wash-hover)}}.loop-card .opt:active:not(:disabled):not(.on),.journal .opt:active:not(:disabled):not(.on),.log .opt:active:not(:disabled):not(.on),.rec .opt:active:not(:disabled):not(.on),.tasks .opt:active:not(:disabled):not(.on),.fit-page .opt:active:not(:disabled):not(.on),.fin-subnav .opt:active:not(:disabled):not(.on),.fin-page .opt:active:not(:disabled):not(.on),.fin-settings .opt:active:not(:disabled):not(.on),.new-loop .chip:active:not(:disabled):not(.on){background:var(--wash-press)}.loop-card .opt:focus-visible,.journal .opt:focus-visible,.log .opt:focus-visible,.rec .opt:focus-visible,.tasks .opt:focus-visible,.fit-page .opt:focus-visible,.fin-subnav .opt:focus-visible,.fin-page .opt:focus-visible,.fin-settings .opt:focus-visible,.new-loop .chip:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.loop-card .opt.on,.journal .opt.on,.log .opt.on,.rec .opt.on,.tasks .opt.on,.fit-page .opt.on,.fin-subnav .opt.on,.fin-page .opt.on,.fin-settings .opt.on,.new-loop .chip.on{background:var(--accent);border-color:var(--accent);color:var(--on-accent);font-weight:500}@media (width<=600px),(pointer:coarse) and (width<=900px){.loop-card .opt,.journal .opt,.log .opt,.rec .opt,.tasks .opt,.fit-page .opt,.fin-subnav .opt,.fin-page .opt,.fin-settings .opt,.new-loop .chip{min-height:var(--ctl-lg)}}.opt.opt-compact{height:24px;min-height:24px;padding:0 var(--s-2);font-size:var(--fs-6);gap:6px}@media (width<=600px),(pointer:coarse) and (width<=900px){.opt.opt-compact{height:var(--ctl-lg);min-height:var(--ctl-lg);padding:0 var(--s-3)}}.caption-row{align-items:center;gap:var(--s-2);height:32px;margin-top:var(--s-4);min-width:0;display:flex}.caption-row:first-child,.stable-head-row+.stable-group>.caption-row{margin-top:0}.stable-group:has(>.caption-row){font-variant:normal;letter-spacing:normal;height:auto;margin-top:0}.caption-word{font-size:var(--fs-4);font-variant:all-small-caps;letter-spacing:var(--track-label);color:var(--muted);white-space:nowrap;flex:none;font-weight:500}.caption-count,.caption-note{font-size:var(--fs-4);color:var(--muted);white-space:nowrap;flex:none}.caption-rule{min-width:var(--s-4);height:var(--rule-w);background:var(--rule);flex:1}.caption-row.is-button{width:100%;font:inherit;color:var(--muted);text-align:left;cursor:pointer;background:0 0;border:none;padding:0}@media (hover:hover){.caption-row.is-button:hover{background:var(--wash-hover)}}.caption-row.is-button:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.select-box{box-sizing:border-box;height:var(--ctl);border:var(--rule-w) solid var(--rule);color:var(--ink);font-size:var(--fs-7);background:0 0;align-items:center;display:inline-flex;position:relative}.select-box.is-compact{height:24px;font-size:var(--fs-6)}.select-box select{appearance:none;width:100%;min-width:0;height:100%;padding:0 24px 0 var(--s-2);color:inherit;font:inherit;text-overflow:ellipsis;cursor:pointer;background:0 0;border:none}.select-box:focus-within{border-color:var(--accent)}.select-box select:focus-visible{outline:none}.select-box>svg{right:var(--s-2);pointer-events:none;color:var(--muted);position:absolute}@media (width<=600px),(pointer:coarse) and (width<=900px){.select-box,.select-box.is-compact{height:var(--ctl-lg);font-size:var(--fs-9)}}@media (hover:hover) and (width>=721px){.btn-compact{height:24px;min-height:24px;padding:0 var(--s-2);font-size:var(--fs-6);gap:6px}.btn-compact.btn-icon{width:24px;padding:0}}.due-check,.tasks-check{width:16px;height:16px}.placeholder{gap:var(--s-1);padding:var(--s-6) var(--s-5);flex-direction:column;display:flex}.placeholder-title{font-size:var(--fs-11);margin:0;font-weight:500}.placeholder-note{font-size:var(--t-mono);color:var(--muted);margin:0}.home{flex-direction:column;flex:1;min-height:0;display:flex;overflow:auto}.home-strip{align-items:flex-end;gap:var(--s-6);padding:20px var(--s-5) var(--s-4);border-bottom:var(--rule-w) solid var(--rule);display:flex}.strip-figure{flex-direction:column;gap:6px;display:flex}.strip-value{font-size:var(--fs-11);line-height:1}.strip-link{color:inherit;text-decoration:none}.strip-link:hover .strip-value,.strip-link:focus-visible .strip-value,.strip-link:hover .strip-hint,.strip-link:focus-visible .strip-hint{color:var(--accent)}.strip-link:focus-visible{outline:1px solid var(--accent);outline-offset:4px}.strip-hint{margin-left:var(--s-2);font-size:var(--fs-4);color:var(--muted)}.strip-lead{font-size:var(--fs-17);letter-spacing:-.02em;line-height:1}.strip-gap{flex:1}.strip-month{flex-direction:column;align-items:flex-end;gap:6px;display:flex}.strip-pace{font-size:var(--fs-6);color:var(--accent)}.home-body{grid-template-columns:1fr minmax(calc(360px * var(--u)), calc(420px * var(--u)));flex:1;align-items:start;min-height:0;display:grid}.home-left{min-width:0;padding:var(--s-4) var(--s-5) var(--s-5);border-right:var(--rule-w) solid var(--rule);flex-direction:column;display:flex}.home-right{min-width:0;padding:var(--s-4) var(--s-5) var(--s-5);flex-direction:column;display:flex}.home-empty{padding:var(--s-2) 0;font-size:var(--t-mono);color:var(--muted);margin:0}.home-review{padding:var(--s-2) 0;font-size:var(--t-mono);color:var(--muted);text-decoration:none;display:block}.home-review:hover{color:var(--ink);text-decoration:underline}.section-head{align-items:center;gap:var(--s-2);margin-bottom:var(--s-3);flex-wrap:wrap;display:flex}.section-head+.section-head,.goal-rules+.section-head,.week-labels+.section-head,.due-list+.section-head,.home-empty+.section-head,.home-left>.section-head:not(:first-child){margin-top:18px}.section-label{white-space:nowrap;font-size:var(--fs-6);font-variant:all-small-caps;letter-spacing:var(--track-label);color:var(--muted)}.section-rule{min-width:var(--s-4);height:var(--rule-w);background:var(--rule);flex:1}.section-readout{white-space:nowrap;font-size:var(--t-mono);color:var(--muted);margin-left:auto}.section-link{font-size:var(--t-mono);color:var(--accent);white-space:nowrap;text-decoration:none}.section-link:hover{text-decoration:underline}.section-link:focus-visible{outline:1px solid var(--accent);outline-offset:1px}.goal-rules{flex-direction:column;gap:9px;display:flex;overflow-x:auto}.goal-row{grid-template-columns:calc(140px * var(--u)) 1fr auto;align-items:center;gap:14px;height:22px;display:grid}.goal-name{text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.goal-track{background:var(--rule);height:1px;display:block;position:relative}.goal-fill{height:3px;position:absolute;top:-1px;left:0}.goal-pace{width:var(--rule-w);background:var(--ink);height:9px;position:absolute;top:-4px}.goal-figure{font-size:var(--fs-6);text-align:right;white-space:nowrap}.goal-status{color:var(--muted)}.goal-status.very-behind{color:var(--bad-text)}.goal-status.behind{color:var(--warn-text)}.goal-status.ahead{color:var(--ahead-text)}.goal-status.done{color:var(--good-text)}.goal-today{height:14px;margin-top:-4px}.goal-track-label{height:14px;position:relative}.goal-today-tick{font-size:var(--fs-4);color:var(--muted);position:absolute;top:0;transform:translate(-50%)}.due-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.due-row{border-bottom:var(--rule-w) solid var(--rule);grid-template-columns:16px 1fr auto;align-items:center;gap:10px;height:34px;display:grid}.due-check{border:var(--rule-w) solid var(--ink);width:14px;height:14px;color:var(--field);cursor:pointer;background:0 0;justify-content:center;align-items:center;padding:0;display:inline-flex}.due-check:disabled{background:var(--ink);cursor:default}.due-row.is-done .due-check{background:var(--ink)}.due-title{align-items:center;gap:6px;min-width:0;display:flex}.due-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.due-dot{border-radius:50%;flex:none;width:6px;height:6px}.due-meta{color:var(--muted);white-space:nowrap}.is-done .due-name{color:var(--muted);text-decoration:line-through}.due-status{font-size:var(--t-mono)}.due-status.accent{color:var(--accent)}.due-status.muted{color:var(--muted)}@media (width<=720px){.home-body{grid-template-columns:1fr;align-content:start}.home-left{border-right:none;border-bottom:var(--rule-w) solid var(--rule)}.home-strip{gap:var(--s-4) var(--s-5);flex-wrap:wrap}.strip-gap{display:none}.strip-month{align-items:flex-start}.home-review{align-items:center;min-height:40px;padding:0;display:flex}.goal-row{grid-template-columns:calc(100px * var(--u)) 1fr auto}}.bottom-bar{display:none}@media (width<=720px){.shell{grid-template-rows:minmax(0,1fr) auto;grid-template-columns:1fr}.sidebar{display:none}.header{row-gap:var(--s-3);height:auto;padding:calc(var(--s-2) + env(safe-area-inset-top,0px)) var(--s-4) var(--s-3);grid-template-columns:1fr}.header-left{justify-content:space-between}.header-center{height:var(--ctl-lg)}.header-center.is-empty{display:none}.header-center .fin-search,.header-center .fin-month,.header-center .fin-month-label{height:var(--ctl-lg)}.header-right{display:none}.bottom-bar{box-sizing:border-box;height:var(--bottom-bar-safe);padding:var(--s-2) var(--s-2) env(safe-area-inset-bottom,0px);border-top:var(--rule-w) solid var(--rule);grid-template-columns:repeat(5,1fr);align-items:start;display:grid}.bottom-item{justify-content:center;align-items:center;gap:var(--s-1);height:var(--row-touch);color:var(--muted);font-size:var(--t-label);font-variant:all-small-caps;letter-spacing:.08em;flex-direction:column;text-decoration:none;display:flex}.bottom-item.active{color:var(--accent)}.bottom-add{margin-top:calc((var(--row-touch) - 44px) / 2);background:var(--accent);width:52px;height:44px;color:var(--on-accent);cursor:pointer;border:none;place-self:start center}}.more-backdrop{display:none}@media (width<=720px){.bottom-more{cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit}.more-backdrop{top:0;left:0;right:0;bottom:var(--bottom-bar-safe);z-index:var(--z-modal);background:color-mix(in srgb, var(--field) 72%, transparent);display:block;position:fixed}.more-sheet{gap:var(--s-3);padding:var(--s-4);background:var(--field);border-top:var(--rule-w) solid var(--ink);flex-direction:column;display:flex;position:absolute;bottom:0;left:0;right:0}.more-grid{gap:var(--s-2);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.more-item{justify-content:center;align-items:center;gap:var(--s-1);border:var(--rule-w) solid var(--rule);min-height:68px;color:var(--ink);font-size:var(--t-label);font-variant:all-small-caps;letter-spacing:.08em;flex-direction:column;text-decoration:none;display:flex}.more-item.active{color:var(--accent);border-color:var(--accent)}.more-foot{align-items:center;gap:var(--s-3);padding-top:var(--s-3);border-top:var(--rule-w) solid var(--rule);display:flex}.more-theme{flex:1;min-width:0}.more-logout{min-height:var(--ctl-lg);color:var(--muted);flex:none}.more-logout.armed{color:var(--bad-text);border-color:var(--bad-text)}.add-sheet{flex-direction:row}.add-choice{justify-content:center;align-items:center;gap:var(--s-1);border:var(--rule-w) solid var(--rule);min-height:84px;color:var(--ink);font-family:inherit;font-size:var(--t-label);font-variant:all-small-caps;letter-spacing:.08em;cursor:pointer;background:0 0;flex-direction:column;flex:1;display:flex}}.detail-tomorrow{align-items:center;gap:var(--s-2);padding:var(--s-2) 0;border-top:var(--rule-w) solid var(--rule);flex-wrap:wrap;display:flex}.detail-tomorrow-note{font-size:var(--t-mono);color:var(--accent);flex:100%}.chart{width:100%;min-width:0}.chart-canvas{flex-direction:column;display:flex;position:relative}.chart-canvas-plot{flex:1 1 0;min-height:0;position:relative}.chart-canvas:focus{outline:none}.chart-canvas.is-pickable canvas{cursor:pointer}.chart-canvas:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.chart-canvas-tip{z-index:2;pointer-events:none;white-space:nowrap;position:absolute}.chart-tip{min-width:calc(180px * var(--u));padding:var(--s-2) var(--s-3);border:var(--rule-w) solid var(--rule);background:var(--field);color:var(--ink);font-size:var(--fs-6)}.chart-tip-head,.week-readout-head{align-items:baseline;gap:var(--s-4);padding-bottom:var(--s-2);margin-bottom:var(--s-1);border-bottom:var(--rule-w) solid var(--rule);flex-wrap:wrap;display:flex}.chart-tip-title,.week-readout-day{color:var(--ink);font-weight:600}.chart-tip-total,.week-readout-total{font-family:var(--font-mono);font-variant-numeric:tabular-nums;white-space:nowrap;margin-left:auto}.week-readout-today{color:var(--accent);font-weight:400}.chart-table{border-collapse:collapse;width:100%}.chart-table th,.chart-table td{vertical-align:middle;padding:3px 0}.chart-table-swatch{width:18px}.chart-table-swatch span{width:10px;height:10px;display:block}.chart-table .chart-table-label{padding-right:var(--s-4);text-align:left;white-space:nowrap;font-weight:400}.chart-table-quiet{color:var(--muted)}.chart-table .chart-table-value{padding-left:var(--s-4);text-align:right;font-family:var(--font-mono);font-variant-numeric:tabular-nums;white-space:nowrap}.chart-legend{gap:var(--s-2) var(--s-4);padding:var(--s-1) 0 0;font-size:var(--fs-5);color:var(--muted);flex-wrap:wrap;margin:0;list-style:none;display:flex}.chart-legend li{align-items:center;gap:var(--s-2);display:flex}.chart-legend-swatch{width:10px;height:10px;display:block}.week-readout-stack{max-width:520px;margin-top:var(--s-4);font-size:var(--fs-7);display:grid}.week-readout-stack>*{grid-area:1/1;min-width:0}.week-readout-sizer{visibility:hidden;pointer-events:none}.week-readout-empty{margin:var(--s-2) 0 0;color:var(--muted)}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.logtime-backdrop{z-index:var(--z-modal);background:color-mix(in srgb, var(--ink) 20%, transparent);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.logtime{width:min(var(--dialog), calc(100vw - 48px));background:var(--field);border:var(--rule-w) solid var(--ink);flex-direction:column;max-height:calc(100dvh - 48px);display:flex;overflow-y:auto}.logtime-grab{display:none}.logtime-head{justify-content:space-between;align-items:center;gap:var(--s-3);box-sizing:border-box;height:48px;padding:0 var(--s-5);border-bottom:var(--rule-w) solid var(--rule);flex:none;display:flex}.logtime-title-row{white-space:nowrap;align-items:baseline;gap:10px;min-width:0;display:flex}.logtime-heading{align-items:baseline;gap:var(--s-2);min-width:0;display:flex}.logtime-meta{font-size:var(--fs-4);color:var(--muted);white-space:nowrap}.logtime-title{font-size:var(--fs-4);font-variant:all-small-caps;letter-spacing:var(--track-label);color:var(--muted);white-space:nowrap}.logtime-title-sep{color:var(--muted)}.logtime-loop{font-size:var(--fs-7);color:var(--ink);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.day-step{flex:none;align-items:center;display:flex}.day-value{height:var(--ctl);align-items:center;gap:var(--s-2);border-top:var(--rule-w) solid var(--rule);border-bottom:var(--rule-w) solid var(--rule);font-size:var(--fs-5);padding:0 12px;display:inline-flex}.day-today{color:var(--accent)}.day-date{color:var(--muted)}.logtime-section{gap:var(--s-2);padding:var(--s-4) var(--s-5) 0;flex-direction:column;display:flex}.logtime-legend{align-items:center;gap:var(--s-2);display:flex}.logtime-label{font-size:var(--fs-4);font-variant:all-small-caps;letter-spacing:var(--track-label);color:var(--muted)}.logtime-rule{height:var(--rule-w);background:var(--rule);flex:1}.logtime-hint{font-size:var(--fs-4);color:var(--muted)}.logtime-empty{font-size:var(--fs-5);color:var(--muted);margin:0}.cat-btn,.cat-name{min-width:0}.cat-btn:focus-visible,.dur-btn:focus-visible,.dur-free:focus-within,.logtime-step:focus-visible{outline:1px solid var(--accent);outline-offset:1px}.logtime-stepper{grid-template-columns:var(--ctl-lg) minmax(0, 1fr) var(--ctl-lg);gap:var(--s-3);align-items:end;display:grid}.logtime-step{height:var(--ctl-lg);border:var(--rule-w) solid var(--rule);color:inherit;font-size:var(--fs-9);cursor:pointer;background:0 0;padding:0}.logtime-step:hover:not(:disabled){border-color:var(--ink)}.logtime-step:disabled{color:var(--muted);cursor:default}.logtime-minutes{padding-bottom:var(--s-1);border-bottom:1px solid var(--ink);color:var(--muted);align-items:baseline;gap:6px;display:flex}.logtime-minutes:focus-within{border-bottom-color:var(--accent)}.logtime-minutes input{min-width:0;color:var(--ink);font-variant-numeric:tabular-nums;font-size:var(--fs-16);background:0 0;border:none;outline:none;flex:1;padding:0;font-weight:500}.logtime-presets{gap:var(--s-2);grid-template-columns:repeat(8,minmax(0,1fr));display:grid}.dur-unit{flex:none}.logtime-extras{grid-template-columns:minmax(0, 1fr) calc(200px * var(--u));gap:var(--s-2);padding:var(--s-4) var(--s-5) 0;display:grid}.extra-row{height:var(--ctl);align-items:center;gap:var(--s-2);border:var(--rule-w) solid var(--rule);min-width:0;color:var(--muted);padding:0 12px;display:flex}.extra-row>svg{flex:none}select.extra-input{appearance:none;text-overflow:ellipsis;white-space:nowrap;width:100%;overflow:hidden}.extra-row:focus-within{color:var(--ink)}.extra-input{min-width:0;color:var(--ink);font:inherit;background:0 0;border:none;flex:1;padding:0}.extra-input:focus{outline:none}.extra-hint{font-size:var(--fs-4);flex:none}.logtime-error{margin:var(--s-3) var(--s-5) 0;font-size:var(--fs-5);color:var(--bad-text)}.logtime-foot{justify-content:space-between;align-items:center;gap:var(--s-4);margin-top:var(--s-4);box-sizing:border-box;height:56px;padding:0 var(--s-5);border-top:var(--rule-w) solid var(--rule);flex:none;display:flex}.logtime-readout{font-size:var(--fs-5);color:var(--muted);white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.logtime-actions{gap:var(--s-2);flex:none;display:flex}.logtime .key{margin-left:6px;padding:0 5px;line-height:16px}.logtime .btn-primary .key{border-color:color-mix(in srgb, var(--on-accent) 50%, transparent)}.logtime-delta{text-align:center;flex:1}.logtime .logtime-delete.btn-quiet:not(.on):hover:not(:disabled){color:var(--bad-text)}.logtime-extras.is-single{grid-template-columns:minmax(0,1fr)}.session-loop-list{gap:var(--s-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.session-loop-row{box-sizing:border-box;align-items:center;gap:var(--s-2);width:100%;min-width:0;min-height:var(--ctl);border:var(--rule-w) solid var(--rule);font-size:var(--t-body);color:var(--ink);text-align:left;padding:0 12px;display:flex}.session-loop-row>svg{color:var(--muted);flex:none}.session-loop-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.session-loop-verb{color:var(--muted)}.session-loop-kind{font-size:var(--t-mono);color:var(--muted);flex:none}.session-loop-open:hover:not(:disabled){border-color:var(--accent)}.session-loop-open:hover>svg:last-child{color:var(--accent)}.session-loop.is-deleted .session-loop-row{color:var(--muted);border-style:dashed}@media (width<=720px){.logtime-backdrop{align-items:flex-end}.logtime{border:none;border-top:var(--rule-w) solid var(--ink);width:100%;max-height:92dvh}.logtime-grab{width:36px;height:2px;margin:var(--s-2) auto 0;background:var(--rule);display:block}.logtime-section,.logtime-extras{padding-left:var(--s-4);padding-right:var(--s-4)}.logtime-head,.logtime-foot{z-index:1;height:auto;padding:12px var(--s-4);background:var(--field);position:sticky}.logtime-head{height:auto;padding-top:var(--s-3);padding-bottom:var(--s-3);row-gap:var(--s-2);flex-wrap:wrap;top:0}.logtime-title-row{flex:100%}.day-value{white-space:nowrap}.logtime-foot{height:auto;padding-top:var(--s-3);padding-bottom:calc(var(--s-3) + env(safe-area-inset-bottom,0px));margin-top:auto;bottom:0}.day-value{height:var(--ctl-lg)}.dur-grid,.logtime-presets{grid-template-columns:repeat(4,minmax(0,1fr))}.dur-free{grid-column:span 4}.logtime-extras{grid-template-columns:minmax(0,1fr)}.extra-row{height:var(--ctl-lg)}.session-loop-row{min-height:var(--ctl-lg);font-size:var(--fs-9)}.logtime-foot{align-items:stretch;gap:var(--s-2);flex-direction:column}.logtime-readout{white-space:normal}.logtime-actions .btn-primary{flex:1}}.log{flex-direction:column;flex:1;min-height:0;display:flex}.log-subnav{align-items:center;gap:var(--s-4);height:40px;padding:0 var(--s-5);border-bottom:var(--rule-w) solid var(--rule);flex:none;display:flex}.log-filter-strip{align-items:center;gap:var(--s-2);white-space:nowrap;flex:1;min-width:0;display:flex}.log-filter-strip .opt{height:24px;min-height:24px;padding:0 var(--s-2);font-size:var(--fs-6);flex:none;gap:6px}.opt-dot{border-radius:50%;flex:none;width:8px;height:8px}.log-filter-strip .opt.on .opt-dot{box-shadow:inset 0 0 0 1px var(--on-accent);background:0 0!important}.log-readout{font-size:var(--t-mono);font-variant-numeric:tabular-nums;color:var(--muted);white-space:nowrap;flex:none;margin-left:auto}.log-list{min-height:0;padding:0 var(--s-5);flex:1;overflow-y:auto}.log-dur,.log-points{text-align:right}.stable-group:has(>.log-day){height:auto;margin-top:0}.log-day{height:32px;margin-top:var(--s-4);font-variant:normal;letter-spacing:normal;color:var(--ink);align-items:center;gap:10px;display:flex}.stable-head-row+.stable-group>.log-day{margin-top:0}.log-day-name{font-size:var(--fs-7);white-space:nowrap;flex:none;font-weight:500}.log-day-link{color:inherit;flex:none;align-items:baseline;gap:10px;text-decoration:none;display:inline-flex}.log-day-link .log-day-date{text-decoration:underline;-webkit-text-decoration-color:var(--rule);text-decoration-color:var(--rule);text-underline-offset:3px}.log-day-link:hover .log-day-date{color:var(--ink);text-decoration-color:currentColor}.log-day-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (pointer:coarse),(width<=720px){.log-day-link{padding:var(--s-3) 0;margin:calc(-1 * var(--s-3)) 0}}.log-day-date,.log-day-total{font-size:var(--t-mono);color:var(--muted);white-space:nowrap}.log-day-date{flex:none}.log-day-total{text-overflow:ellipsis;min-width:0;overflow:hidden}.log-day-rule{height:var(--rule-w);background:var(--rule);flex:1}.log-time{font-size:var(--t-mono);color:var(--muted)}.log-what{align-items:baseline;gap:6px;min-width:0;display:flex}.log-cat{white-space:nowrap;font-weight:500}.log-project{text-overflow:ellipsis;min-width:0;color:var(--muted);white-space:nowrap;overflow:hidden}.log-role{padding:0 var(--s-1);border:var(--rule-w) solid var(--rule);font-size:var(--fs-4);text-transform:uppercase;color:var(--muted);flex:none;line-height:1.5}.log-role.skipped{opacity:.7}.log-note{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;flex-shrink:4;overflow:hidden}.log-dur{font-size:var(--fs-6)}.log-points{font-size:var(--fs-6);color:var(--muted)}.log-more{margin:var(--s-4) 0 var(--s-5);justify-content:center;display:flex}.log-empty{padding:var(--s-5) 0;font-size:var(--t-mono);color:var(--muted)}.log-error{color:var(--ink)}.cat-grid{gap:var(--s-2);grid-template-columns:repeat(3,1fr);display:grid}.cat-btn{align-items:center;gap:var(--s-2);height:var(--ctl);border:var(--rule-w) solid var(--rule);color:inherit;font:inherit;font-size:var(--fs-7);text-align:left;cursor:pointer;background:0 0;padding:0 12px;font-weight:500;display:flex}.cat-btn.on{border-color:var(--accent);background:var(--accent);color:var(--on-accent)}.cat-btn.on .cat-dot{outline:1.5px solid var(--on-accent)}.cat-btn.on .cat-key{color:inherit;opacity:.7}.cat-dot{border-radius:50%;flex:none;width:8px;height:8px}.cat-name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.cat-key{font-size:var(--fs-4);color:var(--muted)}.dur-grid{grid-template-columns:repeat(8, 1fr) calc(96px * var(--u));gap:var(--s-2);display:grid}.dur-btn{height:var(--ctl);border:var(--rule-w) solid var(--rule);color:inherit;font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--fs-7);cursor:pointer;background:0 0;padding:0;font-weight:500}.dur-btn.on{border-color:var(--accent);background:var(--accent);color:var(--on-accent)}.dur-none{width:100%;height:var(--ctl);margin-top:var(--s-2);border:var(--rule-w) solid var(--rule);color:inherit;font:inherit;font-size:var(--fs-6);text-align:left;cursor:pointer;background:0 0;padding:0 12px;font-weight:500;display:block}.dur-none.on{border-color:var(--accent);background:var(--accent);color:var(--on-accent)}.dur-none:focus-visible{outline:1px solid var(--accent);outline-offset:1px}.dur-btn.was{border-style:dashed;border-color:var(--muted);color:var(--muted)}.dur-free{height:var(--ctl);border:var(--rule-w) solid var(--rule);color:var(--muted);justify-content:flex-end;align-items:center;gap:6px;padding:0 12px;display:flex}.dur-free.on{border-color:var(--accent);background:var(--accent);color:var(--on-accent)}.dur-free.on .dur-unit{color:inherit;opacity:.7}.dur-free input{width:100%;min-width:0;color:inherit;font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--fs-7);text-align:right;appearance:textfield;background:0 0;border:none}.dur-free input::-webkit-outer-spin-button{appearance:none;margin:0}.dur-free input::-webkit-inner-spin-button{appearance:none;margin:0}.dur-unit{font-size:var(--fs-6);color:var(--muted)}.dur-free input:focus-visible{outline:1px solid var(--accent);outline-offset:1px}.btn-ink{background:var(--ink);border-color:var(--ink);color:var(--field);font-weight:500}@media (width<=720px){.cat-grid{grid-template-columns:repeat(2,1fr)}.cat-btn,.dur-btn,.dur-free{height:var(--ctl-lg)}.dur-free input{font-size:var(--fs-9)}.dur-grid{grid-template-columns:repeat(4,1fr)}.dur-free{grid-column:span 4}.log-day-count{display:none}.log-subnav{gap:var(--s-1) var(--s-3);height:auto;padding:var(--s-2) var(--s-4);flex-wrap:wrap}.log-filter-strip{min-height:var(--ctl-lg);flex:100%}.log-filter-strip .opt{height:var(--ctl-lg);min-height:var(--ctl-lg);padding:0 var(--s-3)}.log-readout{min-width:0;padding-top:var(--s-1);white-space:normal;flex:100%;margin-left:0}.log-more .btn{width:100%}}.rewards{flex-direction:column;flex:1;min-height:0;display:flex}.rewards-head{align-items:flex-end;gap:var(--s-5);padding:20px var(--s-5) var(--s-4);border-bottom:var(--rule-w) solid var(--rule);display:flex}.rewards-spacer{flex:1}.rewards-figure{flex-direction:column;gap:6px;display:flex}.rewards-balance{font-size:var(--fs-17);letter-spacing:-.02em;line-height:1}.rewards-total{font-size:var(--fs-11);color:var(--muted);line-height:1}.rewards-label{font-size:var(--t-label);font-variant:all-small-caps;letter-spacing:var(--track-label);color:var(--muted)}.rewards-rule-row{align-items:center;gap:var(--s-2);height:20px;display:flex}.rewards-rule{height:var(--rule-w);background:var(--rule);flex:1}.rewards-hint{font-size:var(--fs-4);color:var(--muted)}.rewards-history{min-height:0;padding:var(--s-4) var(--s-5) var(--s-5);flex:1;overflow-y:auto}.rewards-empty{margin:var(--s-4) 0 0;color:var(--muted)}.spend-list{margin:var(--s-2) 0 0;padding:0;list-style:none}.spend-row{grid-template-columns:calc(96px * var(--u)) 1fr calc(80px * var(--u)) calc(56px * var(--u));gap:var(--s-3);height:var(--row-list);border-bottom:var(--rule-w) solid var(--rule);align-items:center;display:grid}.spend-date{font-size:var(--t-mono);color:var(--muted)}.spend-what{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.spend-what strong{font-weight:500}.spend-note-text{color:var(--muted)}.spend-cost{font-size:var(--fs-6);text-align:right}.spend-row-actions{gap:var(--s-1);opacity:0;justify-content:flex-end;display:flex}.spend-row:hover .spend-row-actions,.spend-row:focus-within .spend-row-actions{opacity:1}.spend-backdrop{z-index:var(--z-modal);padding:var(--s-5) var(--s-4);background:color-mix(in srgb, var(--field) 72%, transparent);justify-content:center;align-items:flex-start;display:flex;position:absolute;inset:0;overflow-y:auto}.spend-dialog{background:var(--field);border:var(--rule-w) solid var(--ink);flex-direction:column;width:min(520px,96vw);display:flex}.spend-head{border-bottom:var(--rule-w) solid var(--rule);justify-content:space-between;align-items:center;padding:14px 20px 12px;display:flex}.spend-bal{font-size:var(--fs-6);color:var(--muted)}.spend-bal strong{color:var(--ink);font-weight:400}.spend-section{gap:var(--s-2);padding:var(--s-4) 20px 0;flex-direction:column;display:flex}.spend-categories{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;display:grid}.spend-category{min-width:0;height:var(--ctl);border:var(--rule-w) solid var(--rule);color:inherit;font:inherit;font-size:var(--fs-6);white-space:nowrap;cursor:pointer;background:0 0;align-items:center;gap:6px;padding:0 10px;display:flex}.spend-category:hover{border-color:var(--ink)}.spend-category-name{text-overflow:ellipsis;min-width:0;overflow:hidden}.spend-category.on{border-color:var(--ink);background:var(--ink);color:var(--field)}.spend-category.on .spend-category-rate{color:inherit}.spend-category:focus-visible{outline:1px solid var(--accent);outline-offset:1px}.spend-category-rate{font-size:var(--fs-4);color:var(--muted)}.spend-category-new{color:var(--muted);border-style:dashed}.spend-category-new:hover{color:var(--ink)}.spend-section .reward-form{padding-top:0}.spend-amounts{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;display:grid}.spend-amount{height:var(--ctl);border:var(--rule-w) solid var(--rule);color:inherit;font-size:var(--fs-7);cursor:pointer;background:0 0;padding:0}.spend-amount:hover{border-color:var(--accent)}.spend-amount.on{border:1px solid var(--accent);color:var(--accent);font-weight:500}.spend-free,.spend-quantity{height:var(--ctl);border:var(--rule-w) solid var(--rule);align-items:center;gap:6px;padding:0 10px;display:flex}.spend-stepper{grid-template-columns:var(--ctl-lg) minmax(0, 1fr) var(--ctl-lg);gap:var(--s-3);align-items:end;display:grid}.spend-free{height:auto;padding:0 0 var(--s-1);border:none;border-bottom:1px solid var(--ink);align-items:baseline}.spend-free:focus-within{border-bottom-color:var(--accent)}.spend-amount:focus-visible,.spend-step:focus-visible{outline:1px solid var(--accent);outline-offset:1px}.spend-free input,.spend-quantity input{min-width:0;color:inherit;font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--fs-7);text-align:right;background:0 0;border:none;outline:none;flex:1}.spend-free input{font-size:var(--fs-16);text-align:left;font-weight:500}.spend-unit{font-size:var(--fs-6);color:var(--muted)}.spend-rate{grid-template-columns:calc(120px * var(--u)) 1fr;gap:var(--s-3);align-items:center;display:grid}.spend-step{height:var(--ctl-lg);border:var(--rule-w) solid var(--rule);color:inherit;font-size:var(--fs-9);cursor:pointer;background:0 0;padding:0}.spend-step:hover:not(:disabled){border-color:var(--ink)}.spend-step:disabled{color:var(--muted);cursor:default}.spend-rate-line{font-size:var(--fs-5);color:var(--muted)}.spend-meta{gap:var(--s-3);grid-template-columns:1fr auto;align-items:center;display:grid}.spend-note{align-items:center;gap:var(--s-2);height:var(--ctl);border-bottom:var(--rule-w) solid var(--rule);color:var(--muted);display:flex}.spend-note:focus-within{border-bottom-color:var(--accent)}.spend-note input{min-width:0;color:var(--ink);font:inherit;background:0 0;border:none;outline:none;flex:1}.spend-day{align-items:center;gap:var(--s-2);display:flex}.spend-day-label{min-width:calc(92px * var(--u));text-align:center;font-size:var(--fs-6);color:var(--muted)}.spend-day-label strong{color:var(--ink);font-weight:500}.spend-foot{justify-content:space-between;align-items:center;gap:var(--s-2) var(--s-4);padding:var(--s-4) 20px;margin-top:var(--s-1);border-top:var(--rule-w) solid var(--rule);flex-wrap:wrap;display:flex}.spend-delta{font-size:var(--fs-6);color:var(--muted)}.spend-delta strong{color:var(--ink);font-weight:400}.spend-actions{gap:var(--s-2);flex:none;margin-left:auto;display:flex}.spend-delta{white-space:nowrap}@media (width<=720px){.spend-foot{gap:var(--s-2);flex-wrap:wrap}.spend-delta{flex-basis:100%}.spend-actions{margin-left:auto}.rewards-head{gap:var(--s-4);padding:var(--s-4);flex-wrap:wrap}.rewards-history{padding:var(--s-3) var(--s-4) var(--s-5)}.spend-row{grid-template-columns:calc(72px * var(--u)) 1fr auto;height:var(--row-touch)}.spend-row-actions{opacity:1;grid-column:1/-1;justify-content:flex-start}.spend-backdrop{align-items:flex-end;padding:0}.spend-dialog{width:100%}.spend-categories{grid-template-columns:repeat(2,minmax(0,1fr))}.spend-category,.spend-amount,.spend-quantity{height:var(--ctl-lg)}.spend-meta{grid-template-columns:1fr}}.projects{min-height:0;color:var(--muted);flex-direction:column;flex:1;display:flex}.projects-subnav{align-items:center;gap:var(--s-3);height:40px;padding:0 var(--s-5);border-bottom:var(--rule-w) solid var(--rule);flex:none;display:flex}.projects-subnav .section-readout{margin-left:auto}.projects-subnav .btn{flex:none}.projects-error{margin:var(--s-2) var(--s-5) 0}.projects-list{min-height:0;padding:0 var(--s-5) var(--s-5);flex:1;overflow-y:auto}.project-head,.project-row{grid-template-columns:3px minmax(0, 1fr) calc(64px * var(--u)) calc(72px * var(--u)) calc(96px * var(--u)) calc(140px * var(--u)) 24px;gap:var(--s-4);border-bottom:var(--rule-w) solid var(--rule);align-items:center;display:grid}.project-head{height:var(--ctl-sm);z-index:1;background:var(--field);font-size:var(--t-label);font-variant:all-small-caps;letter-spacing:var(--track-label);color:var(--muted);position:sticky;top:0}.project-head .right{text-align:right}.project-row{height:34px;color:var(--ink)}.project-row.is-done{color:var(--muted)}.project-row.is-done .project-title{text-decoration:line-through}.projects-group{flex-wrap:nowrap;margin:10px 0 0}.projects-group .section-readout{text-overflow:ellipsis;min-width:0;overflow:hidden}.projects-count{font-size:var(--fs-4);color:var(--muted)}.projects-add{color:var(--muted);flex:none;padding:0}@media (width>=721px){.projects .stable-head-row,.projects .stable-row{column-gap:var(--s-4)}}.project-hue{width:3px;height:18px;display:block}.project-hue-new{border:var(--rule-w) dashed var(--muted);box-sizing:border-box;background:0 0}.project-open-cell,.project-open{align-items:baseline;gap:var(--s-2);text-align:left;min-width:0;font:inherit;color:inherit;background:0 0;border:none;padding:0;display:flex}.project-open:focus-visible{outline:1px solid var(--accent);outline-offset:1px}.project-open[aria-current] .project-title{color:var(--accent)}.project-title{text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.project-category{font-size:var(--t-label);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.project-worked,.project-logged{text-align:right;white-space:nowrap}.project-worked{color:var(--muted)}.worked-via{margin:var(--s-2) 0 0;color:var(--muted);font-size:var(--t-label);overflow-wrap:anywhere}.project-via{max-width:24ch;font-size:var(--fs-4);text-overflow:ellipsis;margin-left:auto;line-height:1;display:block;overflow:hidden}.project-worked:has(.project-via){line-height:1.1}.project-pulse{vertical-align:1px;background:var(--rule);border-radius:50%;width:6px;height:6px;margin-right:6px;display:inline-block}.project-pulse.is-today{background:var(--good)}.project-pulse.is-stale{background:var(--bad)}.project-logged{color:var(--ink)}.project-due{color:var(--muted);white-space:nowrap}.project-due.accent{color:var(--accent)}.project-phases{align-items:center;gap:var(--s-2);display:flex}.project-track{background:var(--rule);flex:1;height:1px;position:relative}.project-fill{background:var(--ink);height:3px;position:absolute;top:-1px;left:0}.project-phase-count{color:var(--muted);white-space:nowrap;text-align:right;min-width:36px}.project-menu-cell{justify-content:flex-end;display:inline-flex;position:relative}.project-menu-btn{color:var(--muted);padding:0}.project-menu{z-index:var(--z-modal);min-width:calc(148px * var(--u));padding:var(--s-1) 0;flex-direction:column;display:flex;position:fixed}.project-menu-item{padding:6px var(--s-3);text-align:left;font:inherit;font-size:var(--fs-6);color:var(--ink);white-space:nowrap;background:0 0;border:none}.project-menu-item.muted{color:var(--muted)}.project-menu-item:hover{color:var(--accent)}.project-new-fields{align-items:center;gap:var(--s-2);min-width:0;display:flex}.project-new-title{max-width:calc(320px * var(--u));height:26px;padding:0 var(--s-2);border:var(--rule-w) solid var(--accent);color:var(--ink);font:inherit;background:0 0;flex:1}.project-new-title:focus-visible{outline:1px solid var(--accent);outline-offset:1px}.project-new-category,.project-new-stage{height:22px;font-size:var(--fs-6)}.project-new-category{color:var(--ink);background:0 0}.project-new-hint{color:var(--muted);white-space:nowrap}.project-backdrop{pointer-events:auto;background:color-mix(in srgb, var(--ink) 22%, transparent);justify-content:center;align-items:center}.project-drawer{width:min(600px,94vw);max-height:min(88vh,820px)}@media (width>=1000px){.project-drawer{width:min(880px,92vw)}.project-drawer .detail-body{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"bar bar""fields phases""fields history";align-content:start;gap:12px 20px;display:grid}.project-drawer .project-dimension{grid-area:bar}.project-drawer .rows{grid-area:fields;align-self:start}.project-drawer .project-phases-block{grid-area:phases}.project-drawer .project-history-block{grid-area:history}}@media (width<=600px),(pointer:coarse) and (width<=900px){.project-backdrop{background:#00000073;align-items:stretch}.project-drawer{width:100%;max-height:none}}.project-drawer-hue{flex:none;width:3px;height:36px;margin-top:2px}.project-drawer-head{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.project-drawer-sub{font-size:var(--fs-6);color:var(--muted)}.project-dimension{flex-direction:column;gap:6px;display:flex}.project-dimension-line{font-size:var(--fs-6);color:var(--ink);justify-content:space-between;align-items:baseline;display:flex}.project-dimension-line .muted-inline{color:var(--muted)}.project-dimension-line .accent{color:var(--accent)}.project-dimension-track{background:var(--rule);height:1px;position:relative}.project-dimension-fill{height:3px;position:absolute;top:-1px;left:0}.project-dimension-tick{width:var(--rule-w);background:var(--ink);height:9px;position:absolute;top:-4px;left:100%}.project-dimension-note{font-size:var(--fs-6);color:var(--muted)}.project-phase-head{justify-content:space-between;display:flex}.project-phase{min-height:var(--ctl);padding-block:var(--s-1);box-sizing:border-box;font-size:var(--fs-7);color:var(--ink);align-items:center;gap:10px;display:flex}.project-phase-name{overflow-wrap:anywhere;min-width:0}.project-phase input{width:14px;height:14px;accent-color:var(--ink);flex:none;margin:0}.project-phase-name.is-done{color:var(--muted);text-decoration:line-through}.project-add-phase{min-height:var(--ctl);color:var(--muted);align-items:center;gap:10px;display:flex}.project-add-phase-input{min-width:0;color:var(--ink);font:inherit;font-size:var(--fs-6);background:0 0;border:none;flex:1}.project-row-select{color:var(--ink);font:inherit;font-size:var(--fs-7);background:0 0;border:none}.project-add-phase-input:focus-visible,.project-row-select:focus-visible{outline:1px solid var(--accent);outline-offset:1px}@media (width>=721px){.project-drawer .rows :is(select.row-value,input.row-value,.datefield-text){height:var(--ctl);box-sizing:border-box;padding:0 var(--s-3)}.project-drawer .rows select.row-value{border:var(--rule-w) solid var(--rule);background:var(--field)}.project-page-fields .project-row-select{height:var(--ctl-sm);border-bottom:var(--rule-w) solid var(--rule)}.project-page-fields :is(input.row-value,.datefield-text),.project-page .project-add-phase-input{height:var(--ctl-sm);box-sizing:border-box}.project-drawer .project-add-phase-input{height:var(--ctl);box-sizing:border-box;padding-block:0}}.project-notes-row textarea{font:inherit;font-size:var(--fs-7)}.project-notes-row{align-items:flex-start}.project-notes-row textarea{min-height:44px}.project-entry{grid-template-columns:calc(88px * var(--u)) calc(48px * var(--u)) 1fr;min-height:var(--ctl-sm);font-size:var(--fs-6);align-items:center;gap:10px;display:grid}.project-entry-date{color:var(--muted);white-space:nowrap}.project-entry-hours{text-align:right;color:var(--ink);white-space:nowrap}.project-entry-what{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}@media (width<=720px){.projects-list{padding:0 var(--s-4) var(--s-4)}.project-head{display:none}.project-open{align-items:flex-start;gap:var(--s-1);flex-direction:column}.project-phases{display:inline-flex}.project-track{width:calc(48px * var(--u));min-width:var(--s-3);flex:0 auto}.project-phase-count{min-width:0}.stable-row.project-row{grid-template-columns:auto auto minmax(0,1fr) auto;grid-template-areas:"title title title logged""worked due phases phases";align-items:baseline;display:grid}.stable-row.project-row:before{content:none}.project-row>.stable-cell[data-mobile=primary]{grid-area:title}.project-row>.stable-cell[data-label=Logged]{grid-area:logged;max-width:none}.project-row>.stable-cell[data-label=Worked]{grid-area:worked}.project-row>.stable-cell[data-label=Due]{grid-area:due}.project-row>.stable-cell[data-label=Phases]{grid-area:phases;place-self:center end;max-width:100%}.stable-row.project-row>.stable-cell[data-label=Phases]:before{content:none}.stable-row.project-row .project-phase-count{min-width:5ch}.project-row.project-new{align-items:stretch;gap:var(--s-2);height:auto;padding:var(--s-2) 0;display:flex}.project-new>span:empty:not(.project-hue),.project-new-hint{display:none}.project-new .project-hue-new{flex:none;height:auto}.project-new-fields{flex-wrap:wrap;flex:1}.project-new-title{max-width:none;height:var(--ctl-lg);box-sizing:border-box;font-size:var(--fs-9);flex:100%}.project-new-category{flex:1 1 0;min-width:0}.project-new-category,.project-new-stage{height:var(--ctl-lg);box-sizing:border-box}.project-new-stage{flex:none}.project-drawer .detail-title{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.project-drawer header{align-items:center}.project-drawer footer{gap:var(--s-2);padding:var(--s-2) 14px;flex-direction:row}.project-drawer .footer-secondary,.project-drawer .footer-more{display:contents}.project-drawer footer .btn{flex:auto}.project-drawer footer .btn-primary{flex-basis:0}.project-drawer .footer-more .btn{min-width:var(--ctl-lg);flex:none}.project-drawer-long,.project-drawer footer .btn-primary svg{display:none}.project-drawer .project-dimension-line{flex-direction:column;align-items:flex-start;gap:2px}}.rec{flex-direction:column;flex:1;min-height:0;display:flex}.rec-subnav{align-items:center;gap:var(--s-4);height:40px;padding:0 var(--s-5);border-bottom:var(--rule-w) solid var(--rule);flex:none;display:flex}.rec-readout{min-width:0;font-size:var(--t-mono);color:var(--muted);white-space:nowrap;text-overflow:ellipsis;margin-left:auto;overflow:hidden}.rec-nudge{align-items:center;gap:var(--s-3);height:40px;padding:0 var(--s-5);border-bottom:var(--rule-w) solid var(--rule);flex:none;display:flex}.rec-nudge-label{font-size:var(--fs-4);font-variant:all-small-caps;letter-spacing:var(--track-label);color:var(--muted);white-space:nowrap;flex:none;font-weight:500}.rec-nudge-names{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:var(--fs-7);color:var(--ink);overflow:hidden}.rec-nudge-actions{align-items:center;gap:var(--s-2);flex:none;margin-left:auto;display:flex}.rec-head,.rec-row{grid-template-columns:3px minmax(0, 1fr) calc(120px * var(--u)) calc(88px * var(--u)) calc(44px * var(--u)) calc(150px * var(--u)) calc(200px * var(--u));gap:var(--s-4);align-items:center;display:grid}.rec-head{height:28px;margin:var(--s-3) var(--s-5) 0;border-bottom:var(--rule-w) solid var(--rule);font-size:var(--t-label);font-variant:all-small-caps;letter-spacing:var(--track-label);color:var(--muted);flex:none}.rec-head .right{text-align:right}.rec-body{min-height:0;padding:0 var(--s-5);flex:1;overflow:auto}.rec-list{margin:0;padding:0;list-style:none}.rec-row{border-bottom:var(--rule-w) solid var(--rule);position:relative}.rec-hue{flex:none;width:3px;height:18px}.rec-name{align-items:baseline;gap:var(--s-2);min-width:0;display:flex}.rec-title{white-space:nowrap;text-overflow:ellipsis;font-weight:500;overflow:hidden}.rec-cat{font-size:var(--t-label);white-space:nowrap}.rec-line2{display:contents}.rec-sub{font-size:var(--t-label);color:var(--muted);display:none}.rec-schedule,.rec-last{font-size:var(--t-mono);color:var(--muted);white-space:nowrap}.rec-last{text-align:right}.rec-last.is-done{color:var(--good);justify-content:flex-end;align-items:center;gap:4px;display:inline-flex}.rec-streak{font-size:var(--fs-6);text-align:right;white-space:nowrap}.rec-streak-label{color:var(--muted);display:none}.rec-strip{width:calc(150px * var(--u));height:12px}.rec-strip svg{shape-rendering:crispedges;width:100%;height:100%;display:block;overflow:visible}.rec-cell.is-done{fill:var(--ink)}.rec-cell.is-skipped{fill:none;stroke:var(--muted);stroke-width:1px;vector-effect:non-scaling-stroke}.rec-cell.is-missed{fill:var(--rule)}.rec-next{justify-content:flex-end;align-items:center;gap:var(--s-2);min-height:24px;display:flex;position:relative}.rec-next-value{font-size:var(--t-mono);white-space:nowrap}.rec-next-label{color:var(--muted);display:none}.rec-next-value.is-today{color:var(--accent)}.rec-actions{align-items:center;gap:var(--s-1);padding-left:var(--s-2);background:var(--field);opacity:0;pointer-events:none;display:flex;position:absolute;top:50%;right:0;transform:translateY(-50%)}.rec-row:hover .rec-actions,.rec-row:focus-within .rec-actions{opacity:1;pointer-events:auto}.rec-row .stable-cell:has(>.rec-next){overflow:visible}.rec-row:hover .rec-next-value,.rec-row:focus-within .rec-next-value{visibility:hidden}.rec-reveal{display:none}.rec-editor{gap:var(--s-3);padding:var(--s-3) 0 var(--s-4) calc(3px + var(--s-2));border-top:var(--rule-w) solid var(--rule);flex-direction:column;display:flex}.rec-editor-kinds,.rec-editor-pair,.rec-weekdays{align-items:center;gap:var(--s-2);flex-wrap:wrap;display:flex}.rec-editor-fields{align-items:center;gap:var(--s-3);flex-wrap:wrap;display:flex}.rec-field{align-items:center;gap:var(--s-2);font-size:var(--fs-6);color:var(--muted);display:inline-flex}.rec-field-box{align-items:center;gap:var(--s-1);box-sizing:border-box;width:calc(72px * var(--u));height:var(--ctl);padding:0 var(--s-2);border:var(--rule-w) solid var(--rule);color:var(--muted);display:inline-flex}.rec-field-box:focus-within{border-color:var(--accent)}.rec-field-box input{min-width:0;color:var(--ink);font-family:var(--font-mono);font-size:var(--fs-6);font-variant-numeric:tabular-nums;appearance:textfield;background:0 0;border:none;flex:1;padding:0}.rec-field-box input:focus-visible{outline:none}.rec-field-box input::-webkit-outer-spin-button{appearance:none;margin:0}.rec-field-box input::-webkit-inner-spin-button{appearance:none;margin:0}.rec-field-unit{font-size:var(--fs-6);flex:none}.rec-select{width:96px}.rec-editor-foot{align-items:center;gap:var(--s-2);display:flex}.rec-editor-preview{min-width:0;font-size:var(--t-mono);color:var(--muted);margin-right:auto}.rec-legend{align-items:center;gap:var(--s-4);padding:var(--s-4) 0;font-size:var(--fs-4);color:var(--muted);display:flex}.rec-key{align-items:center;gap:6px;display:inline-flex}.rec-key-done{background:var(--ink);width:1px;height:10px}.rec-key-skip{border:var(--rule-w) solid var(--muted);width:3px;height:6px}.rec-key-miss{width:8px;height:var(--rule-w);background:var(--rule)}.rec-empty{margin:var(--s-3) var(--s-5);font-size:var(--t-mono);color:var(--muted)}@media (width<=720px){.rec-head,.rec-subnav{display:none}.rec-body{padding-left:var(--s-4);padding-right:var(--s-4)}.rec-nudge{padding:0 var(--s-4);height:var(--ctl-lg);gap:var(--s-2)}.rec-nudge-label{white-space:nowrap;font-size:var(--fs-7)}.rec-nudge-names{flex:1}.rec-nudge-actions .btn:nth-of-type(2){display:none}.rec-nudge-actions .btn:not(.btn-icon){color:var(--accent);border:none}.rec-legend{gap:var(--s-3);padding:var(--s-3) 0;flex-wrap:wrap}.stable-row.rec-row{grid-template-columns:3px minmax(0, 1fr) auto var(--ctl-lg);align-items:center;column-gap:var(--s-3);min-height:60px;padding:var(--s-2) 0;touch-action:pan-y;grid-template-rows:auto auto auto;row-gap:5px;display:grid}.stable-row.rec-row:before{content:none}.stable-row.rec-row>.stable-cell{display:contents}.rec-row .rec-schedule,.rec-row .rec-last{display:none}.rec-reveal{width:var(--ctl-lg);height:var(--ctl-lg);grid-area:1/4/span 3;display:inline-flex}.rec-hue{grid-area:1/1/span 3;height:30px}.rec-name{flex-direction:column;grid-area:1/2/span 3;align-items:flex-start;gap:5px}.rec-title{font-size:var(--fs-7);white-space:normal;overflow-wrap:anywhere}.rec-line2{white-space:nowrap;align-items:baseline;min-width:0;display:flex;overflow:hidden}.rec-sub{margin-left:var(--s-1);display:inline}.rec-sub:first-child{margin-left:0}.rec-streak{grid-area:2/3;justify-self:end}.rec-streak-label{display:inline}.rec-strip{width:calc(96px * var(--u));grid-area:3/3;height:10px}.rec-next{display:contents}.rec-next-value{font-size:var(--fs-6);grid-area:1/3;justify-self:end}.rec-next-label{display:inline}.rec-row:hover .rec-next-value,.rec-row:focus-within .rec-next-value{visibility:visible}.rec-actions{display:none}.rec-row.is-revealed .rec-actions{gap:var(--s-2);opacity:1;pointer-events:auto;flex-wrap:wrap;grid-area:4/2/auto/-1;padding-left:0;display:flex;position:static;transform:none}}.tasks{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.tasks-subnav{align-items:center;gap:var(--s-4);height:40px;padding:0 var(--s-5);border-bottom:var(--rule-w) solid var(--rule);flex:none;display:flex}.tasks-filters{align-items:center;gap:var(--s-2);min-width:0;display:flex}.tasks-select{width:calc(160px * var(--u));flex:none}.tasks-readout{min-width:0;font-size:var(--t-mono);color:var(--muted);white-space:nowrap;text-overflow:ellipsis;margin-left:auto;overflow:hidden}.tasks-tabs{display:none}.tasks-panes{flex:1;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:0;display:grid;overflow:hidden}.tasks-pane{min-height:0;padding:0 var(--s-5) var(--s-3);flex-direction:column;display:flex;overflow:hidden}.tasks-plan{border-right:var(--rule-w) solid var(--rule)}.tasks-rows{flex:1;min-height:0;overflow-y:auto}.tasks-rows>.tasks-chores{margin-top:var(--s-4)}.tasks-group .caption-row{margin-top:0}.tasks-group+.tasks-group{margin-top:var(--s-4)}.tasks-sort-row{align-items:center;gap:var(--s-4);height:24px;padding-left:calc(16px + var(--s-2));border-bottom:var(--rule-w) solid var(--rule);font-size:var(--fs-4);font-variant:all-small-caps;letter-spacing:var(--track-label);color:var(--muted);flex:none;display:flex}.tasks-sort-row .sort-col.right{margin-left:auto}.tasks-chores{margin-bottom:var(--s-2);flex-direction:column;display:flex}.tasks-chores-done-toggle{align-items:center;gap:var(--s-1);height:28px;color:var(--muted);font:inherit;font-size:var(--t-mono);cursor:pointer;background:0 0;border:0;padding:0;display:flex}.tasks-chores-done-toggle:hover{color:var(--ink)}.tasks-chores-done-toggle:focus-visible{outline:1px solid var(--accent);outline-offset:2px}.tasks-chore-schedule{font-size:var(--t-mono);color:var(--muted);white-space:nowrap}.tasks-row{gap:var(--s-2);border-bottom:var(--rule-w) solid var(--rule);grid-template-columns:16px minmax(0,1fr) auto;align-items:center;min-height:36px;display:grid}@media (hover:hover){.tasks-row:hover:not(.tasks-drop):not(.tasks-add-row){background:var(--wash-hover)}}.tasks-row-plan,.tasks-row-chore,.tasks-add-row,.tasks-drop{grid-template-columns:16px 16px minmax(0,1fr) auto}.tasks-row-chore .tasks-grip{color:var(--muted);cursor:default}.tasks-row[data-depth="1"]{margin-left:26px}.tasks-row[data-depth="1"] .tasks-title{font-weight:400}.tasks-row[data-done=yes]{color:var(--muted)}.tasks-row[data-done=yes] .tasks-title{font-weight:400;text-decoration:line-through}.tasks-grip{color:var(--muted);cursor:grab;justify-content:center;display:inline-flex}.tasks-check{border:var(--rule-w) solid var(--ink);color:inherit;cursor:pointer;background:0 0;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.tasks-check.on{background:var(--ink);color:var(--field)}.tasks-check.dashed{border-style:dashed;border-color:var(--muted)}.tasks-check:focus-visible{outline:1px solid var(--accent);outline-offset:1px}.tasks-what{align-items:center;gap:var(--s-2);min-width:0;display:flex}.tasks-what>.tasks-title,.tasks-what>.row-open{flex:0 auto;min-width:0;display:flex}.tasks-title{white-space:nowrap;text-overflow:ellipsis;min-width:0;font-weight:500;overflow:hidden}.tasks-project{min-width:8px;font-size:var(--t-mono);color:var(--muted);white-space:nowrap;flex:0 100000 auto;align-items:center;gap:6px;display:inline-flex}.tasks-project-name{text-overflow:ellipsis;min-width:0;overflow:hidden}.tasks-dot{background:var(--muted);border-radius:50%;flex:none;width:8px;height:8px}.tasks-due{min-width:10ch;font-size:var(--t-mono);text-align:right;white-space:nowrap;color:var(--muted)}.tasks-due.on{color:var(--accent)}.tasks-drop{border-top:var(--rule-active) solid var(--accent)}.tasks-drop-label{font-size:var(--t-mono);color:var(--accent)}.tasks-add-btn{align-self:flex-start;margin-left:36px}.tasks-add-field{grid-column:3/-1;align-items:center;display:flex;position:relative}.tasks-add-input{box-sizing:border-box;width:100%;height:var(--ctl);padding:0 40px 0 var(--s-2);border:var(--rule-w) solid var(--rule);color:inherit;font:inherit;font-size:var(--fs-7);background:0 0}.tasks-add-input:focus{border-color:var(--accent);outline:none}.tasks-add-hint{right:var(--s-2);position:absolute}.tasks-plan-foot{align-items:center;gap:var(--s-2);border-top:var(--rule-w) solid var(--rule);min-height:40px;font-size:var(--t-mono);color:var(--muted);flex-wrap:wrap;flex:none;margin-top:auto;display:flex}.tasks-done-list{flex-basis:100%;max-height:30vh;overflow-y:auto}.tasks-foot-toggle{font-size:var(--t-mono)}.tasks-plan-hint{font-size:var(--fs-4);margin-left:auto}@media (pointer:coarse){.tasks-plan-hint{display:none}}.tasks-plan-today{flex:none;align-self:center;margin-left:auto}.tasks-empty{font-size:var(--t-mono);color:var(--muted)}@media (width<=720px){.tasks-tabs{gap:var(--s-4);height:40px;padding:0 var(--s-4);border-bottom:var(--rule-w) solid var(--rule);flex:none;display:flex}.tasks-panes{grid-template-columns:minmax(0,1fr)}.tasks-panes[data-pane=today] .tasks-all,.tasks-panes[data-pane=everything] .tasks-plan{display:none}.tasks-plan{border-right:none}.tasks-pane{padding:0 var(--s-4) var(--s-3)}.tasks-rows{margin-inline:calc(-1 * var(--s-4));padding-inline:var(--s-4)}.tasks-row{gap:var(--s-3);grid-template-columns:20px minmax(0,1fr) auto;height:52px}.tasks-row-plan,.tasks-row-chore,.tasks-add-row,.tasks-drop{grid-template-columns:16px 20px minmax(0,1fr) auto}.tasks-check{width:20px;height:20px}.tasks-add-btn{margin-left:0}.tasks-select{width:140px}}.targets{flex-direction:column;flex:1;min-height:0;display:flex}.tgt-bar{align-items:center;gap:var(--s-2);height:40px;padding:0 var(--s-5);border-bottom:var(--rule-w) solid var(--rule);display:flex}.tgt-chip{height:22px;padding:0 var(--s-2);border:var(--rule-w) solid var(--rule);font-size:var(--fs-6);align-items:center;display:inline-flex}.tgt-nowrap{white-space:nowrap}.tgt-hidden-note{color:var(--muted);font-size:var(--t-mono);white-space:nowrap}.tgt-readout{font-size:var(--t-mono);color:var(--muted);white-space:nowrap;margin-left:auto}.tgt-empty{padding:var(--s-2) 0;font-size:var(--t-mono);color:var(--muted);margin:0}.targets>.tgt-empty{padding:var(--s-2) var(--s-5)}.tgt-list{min-height:0;padding:0 var(--s-5) var(--s-3);flex:1;overflow-y:auto}.tgt-head,.tgt-row{grid-template-columns:var(--tgt-cols);gap:var(--s-4);align-items:center;display:grid}.tgt-head{height:28px;margin-top:var(--s-3);border-bottom:var(--rule-w) solid var(--rule);font-size:var(--t-label);font-variant:all-small-caps;letter-spacing:var(--track-label);color:var(--muted)}.tgt-head .right{text-align:right}.targets{--tgt-row-h:36px;--tgt-cols:3px calc(160px * var(--u)) minmax(0, 1fr) calc(184px * var(--u)) calc(80px * var(--u)) calc(128px * var(--u)) calc(200px * var(--u)) 16px}@media (width>=721px){.targets .stable-head-row,.targets .stable-row{column-gap:var(--s-4)}}.tgt-row{width:100%;height:var(--tgt-row-h);border:none;border-bottom:var(--rule-w) solid var(--rule);color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;padding:0}.tgt-row .goal-track{height:calc(var(--tgt-row-h) - 2 * var(--s-1));box-sizing:border-box;border:var(--rule-w) solid var(--rule);background:var(--wash-hover)}.tgt-row .goal-fill{height:100%;top:0}.tgt-row .goal-pace{width:2px;height:calc(100% + 6px);top:-3px}@media (hover:hover){.tgt-row:hover{background:var(--wash-hover)}}.tgt-row:focus-visible{outline:1px solid var(--accent);outline-offset:-1px}.tgt-group.is-open{margin:0 calc(-1 * var(--s-5));padding:0 var(--s-5);background:var(--wash-hover);border-bottom:var(--rule-w) solid var(--rule)}.tgt-group.is-open .tgt-row:hover{background:0 0}.tgt-rule{width:3px;height:18px}.tgt-name{text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.tgt-chevron{color:var(--muted);justify-content:flex-end;display:inline-flex}.tgt-strip{grid-template-columns:3px calc(160px * var(--u)) minmax(0, 1fr) calc(200px * var(--u)) 16px;gap:var(--s-4);padding:var(--s-3) 0 var(--s-4);align-items:start;display:grid}.tgt-strip-note{gap:var(--s-2);font-size:var(--t-mono);color:var(--muted);flex-direction:column;grid-column:2;display:flex}.tgt-months{gap:var(--s-2);grid-column:3/6;grid-template-columns:repeat(12,minmax(0,1fr));display:grid}.tgt-strip-empty{padding:var(--s-3) 0;font-size:var(--t-mono);color:var(--muted);margin:0}.tgt-cell{flex-direction:column;gap:6px;min-width:0;display:flex}.tgt-cell.is-selected{outline:var(--rule-w) solid var(--ink);outline-offset:3px}.tgt-months{padding-right:var(--s-1)}.tgt-cell-head{color:var(--muted);font:inherit;font-size:var(--fs-4);text-align:left;cursor:pointer;background:0 0;border:none;padding:0}.tgt-cell-head:focus-visible{outline:1px solid var(--accent);outline-offset:1px}.tgt-cell.is-selected .tgt-cell-head{color:var(--ink)}.tgt-cell-pair{align-items:center;gap:var(--s-1);font-size:var(--t-mono);white-space:nowrap;display:flex}@media (width>=721px){.tgt-cell-pair{flex-wrap:wrap;row-gap:0}.tgt-cell .goal-track{margin-top:auto}}.tgt-cell-actual{color:var(--ink)}.tgt-cell-target,.tgt-cell.is-hollow .tgt-cell-actual{color:var(--muted)}.tgt-cell .goal-track{box-sizing:border-box;border:var(--rule-w) solid var(--rule);background:var(--wash-hover);height:14px}.tgt-cell .goal-fill{height:100%;top:0}.tgt-cell.is-hollow .goal-track{border:var(--rule-w) dashed var(--muted);background:0 0}.tgt-cell.is-selected .tgt-cell-pair{flex-wrap:wrap}.tgt-cell-input{box-sizing:border-box;width:100%;min-width:0;height:22px;padding:0 var(--s-1);border:var(--rule-w) solid var(--accent);background:var(--field);color:var(--ink);font:inherit;font-size:var(--t-mono);font-variant-numeric:tabular-nums;text-align:right}.tgt-cell-input:focus-visible{outline:1px solid var(--accent);outline-offset:1px}.tgt-none{align-items:center;gap:var(--s-2);height:28px;padding:0 var(--s-5);display:flex}.tgt-none-count,.tgt-none-names{font-size:var(--t-mono);color:var(--muted)}.tgt-none-link{color:var(--accent);text-decoration:none}.tgt-none-link:hover{text-decoration:underline}.tgt-total{grid-template-columns:var(--tgt-cols);gap:var(--s-4);height:var(--tgt-row-h);border-top:var(--rule-w) solid var(--rule);font-size:var(--t-mono);color:var(--muted);align-items:center;display:grid}.tgt-total-label{grid-column:2}.tgt-total-figure:nth-of-type(2){text-align:right;grid-column:4}.tgt-total-figure:nth-of-type(3){text-align:right;grid-column:6}.tgt-formula{padding:var(--s-2) var(--s-5) var(--s-3);font-size:var(--t-mono);color:var(--muted);margin:0}@media (width<=720px){.tgt-bar{height:auto;padding:var(--s-2) var(--s-5);flex-wrap:wrap}.tgt-chip{white-space:nowrap}.tgt-readout{white-space:normal;flex-basis:100%;margin-left:0}.tgt-strip{align-items:stretch;gap:var(--s-2);padding:var(--s-2) 0 var(--s-3);flex-direction:column;display:flex}.tgt-strip-note{gap:var(--s-1)}.tgt-months{flex-direction:column-reverse;gap:0;padding-right:0;display:flex}.tgt-cell{grid-template-columns:calc(64px * var(--u)) auto minmax(0, 1fr);align-items:center;column-gap:var(--s-3);min-height:var(--ctl-lg);border-bottom:var(--rule-w) solid var(--rule);display:grid}.tgt-cell.is-selected{outline-offset:0}.tgt-cell-head{font-size:var(--fs-7);align-self:stretch}.tgt-cell.is-selected .tgt-cell-pair{flex-wrap:nowrap}.tgt-cell-input{width:calc(8ch + 2 * var(--s-1));height:var(--ctl-lg);font-size:var(--fs-9)}.tgt-chevron{color:var(--ink);align-self:center}.tgt-row>.stable-cell[data-mobile=figure]{flex:none;max-width:none}.tgt-row>.stable-cell[data-label=Per\ day]{flex:100%}.tgt-row>.stable-cell[data-mobile=bar]{padding:3px 0}.tgt-row .goal-track{height:12px}.tgt-total{gap:var(--s-1) var(--s-4);height:auto;padding:var(--s-2) 0;flex-wrap:wrap;display:flex}.tgt-total-label{flex:100%}.tgt-total-figure:nth-of-type(2),.tgt-total-figure:nth-of-type(3){text-align:left}}.header-center{align-items:center;min-width:0;display:flex}.header-center>*{flex:1;min-width:0}.header-actions{align-items:center;gap:var(--s-2);display:flex}.header-actions:not(:empty){margin-right:var(--s-2)}.fin-month{height:var(--ctl);justify-content:center;align-items:center;gap:0;display:flex}.fin-month .btn{border:var(--rule-w) solid var(--rule);color:var(--ink)}.fin-month-label{height:var(--ctl);box-sizing:border-box;padding:0 var(--s-3);border-top:var(--rule-w) solid var(--rule);border-bottom:var(--rule-w) solid var(--rule);font-size:var(--fs-5);white-space:nowrap;align-items:center;font-weight:500;display:inline-flex}.fin-this-month{color:var(--accent)}.fin-search{align-items:center;gap:var(--s-2);height:var(--ctl);border:var(--rule-w) solid var(--rule);color:var(--muted);padding:0 10px;display:flex}.fin-search:focus-within{border-color:var(--accent)}.fin-search-field{min-width:0;font:inherit;font-size:var(--t-body);color:var(--ink);background:0 0;border:none;flex:1}.fin-search-field:focus{outline:none}.fin-subnav,.subnav{align-items:center;gap:var(--s-4);height:40px;padding:0 var(--s-5);border-bottom:var(--rule-w) solid var(--rule);flex:none;display:flex}.fin-tabs,.subnav-tabs{align-items:center;gap:var(--s-4);height:100%;display:flex}.fin-tabs{flex:none}.fin-tab,.subnav-tab{border-bottom:var(--rule-active) solid transparent;height:100%;color:var(--muted);font-size:var(--t-body);align-items:center;text-decoration:none;display:flex}.fin-tab:hover,.subnav-tab:hover{color:var(--ink)}.fin-tab.active,.subnav-tab.active{color:var(--accent);border-bottom-color:var(--accent);font-weight:500}.fin-chips{align-items:center;gap:var(--s-2);min-width:0;display:flex}.fin-readout{font-size:var(--t-mono);color:var(--muted);white-space:nowrap;margin-left:auto}.fin-select{min-width:150px}.fin-page{padding:var(--s-5);min-height:0;overflow-y:auto}.fin-loading,.fin-empty{color:var(--muted);font-size:var(--t-mono)}.fin-error{color:var(--ink);border-left:var(--rule-active) solid var(--accent);padding-left:var(--s-2);font-weight:500}.fin-note{color:var(--muted);font-size:var(--t-mono)}.fin-muted{color:var(--muted)}.fin-link{font:inherit;color:var(--accent);cursor:pointer;background:0 0;border:none;padding:0;text-decoration:none}.right{text-align:right}.income{font-weight:500}.fin-top{align-items:baseline;gap:var(--s-6);padding-bottom:var(--s-4);display:flex}.fin-net{gap:var(--s-1);flex-direction:column;display:flex}.fin-net-label,.fin-part-label,.fin-field-label{font-size:var(--t-label);font-variant:all-small-caps;letter-spacing:var(--track-label);color:var(--muted);white-space:nowrap}.fin-net-value,.fin-debts-total{font-size:var(--fs-17);font-weight:500;line-height:1}.fin-top-parts{gap:var(--s-5);display:flex}.fin-top-part{gap:var(--s-1);flex-direction:column;display:flex}.fin-part-value{font-size:var(--fs-11)}.fin-block,.fin-settings-block{gap:var(--s-2);margin-top:var(--s-5);flex-direction:column;display:flex}.fin-block-head{align-items:center;gap:var(--s-2);min-width:0;height:32px;display:flex}.fin-block-title{font-size:var(--fs-4);font-variant:all-small-caps;letter-spacing:var(--track-label);color:var(--muted);white-space:nowrap;flex:none;margin:0;font-weight:500}.fin-block-meta{font-size:var(--fs-4);color:var(--muted);white-space:nowrap;flex:none}.fin-block-foot{font-size:var(--fs-4);color:var(--muted);margin:0}.fin-budget-rows{padding-top:var(--s-2)}.fin-budget-row{grid-template-columns:calc(128px * var(--u)) 1fr calc(184px * var(--u)) calc(128px * var(--u));align-items:center;gap:var(--s-3);height:var(--row-list);font-size:var(--t-body);display:grid}.fin-uncategorized{border-top:var(--rule-w) solid var(--rule);margin-top:var(--s-1)}.fin-uncategorized-note{font-size:var(--t-mono);color:var(--muted)}.fin-budget-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.fin-budget-figures{font-size:var(--t-mono);text-align:right}.fin-budget-status{font-size:var(--fs-3);color:var(--muted);white-space:nowrap}.fin-budget-status.over,.fin-net-after .over{color:var(--accent);font-weight:500}.fin-track{height:7px;display:block;position:relative}.fin-track-budget{background:var(--rule);height:1px;position:absolute;top:3px;left:0}.fin-track-tick{width:var(--rule-w);background:var(--ink);height:7px;position:absolute;top:0}.fin-track-actual{background:var(--ink);height:3px;position:absolute;top:2px;left:0}.fin-track-over{background:var(--accent);height:3px;position:absolute;top:2px}.fin-upcoming{padding-top:var(--s-2)}.fin-day-head{height:24px;margin-top:var(--s-3);font-size:var(--t-mono);color:var(--muted);align-items:center;display:flex}.fin-upcoming-row{grid-template-columns:1fr calc(72px * var(--u)) calc(84px * var(--u));align-items:center;gap:var(--s-3);height:var(--row-list);font-size:var(--t-body);display:grid}.fin-upcoming-kind{font-size:var(--fs-3);color:var(--muted)}.fin-upcoming-amount{font-size:var(--t-mono);text-align:right}.fin-upcoming-total{height:var(--row-list);margin-top:var(--s-1);border-top:var(--rule-w) solid var(--ink);justify-content:space-between;align-items:baseline;font-weight:500;display:flex}.fin-net-after{font-size:var(--t-mono);color:var(--muted);margin:0}.fin-net-after-mobile{display:none}.fin-txn-head,.fin-budget-head,.fin-preview-head,.fin-review-head,.fin-acc-head,.fin-cat-head,.fin-rule-head,.fin-map-head{align-items:center;gap:var(--s-3);background:var(--field);height:24px;font-size:var(--fs-4);font-variant:all-small-caps;letter-spacing:var(--track-label);color:var(--muted);border-bottom:var(--rule-w) solid var(--rule);display:grid}.fin-txn-head{grid-template-columns:minmax(0, 1fr) calc(184px * var(--u)) calc(160px * var(--u)) calc(132px * var(--u)) calc(32px * var(--u))}.fin-day-rule{height:var(--row-list);border-bottom:var(--rule-w) solid var(--rule);font-size:var(--t-mono);color:var(--muted);justify-content:space-between;align-items:baseline;display:flex}.fin-txn-row{grid-template-columns:minmax(0, 1fr) calc(184px * var(--u)) calc(160px * var(--u)) calc(132px * var(--u)) calc(32px * var(--u));align-items:center;gap:var(--s-3);font-size:var(--t-body);display:grid}.fin-txn-desc{text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.fin-txn-rule,.fin-txn-hours{font-size:var(--fs-3);color:var(--muted);font-weight:400}.fin-txn-account{font-size:var(--t-mono);color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.fin-txn-amount{font-size:var(--t-mono);text-align:right;white-space:nowrap}.fin-txn-amount.pending{color:var(--muted)}.fin-txn-pending{margin-right:var(--s-2);border:var(--rule-w) solid var(--muted);color:var(--muted);font-size:var(--fs-4);vertical-align:1px;padding:0 4px;font-weight:400;line-height:16px;display:inline-block}.fin-txn-row.untagged,.fin-preview-row.untagged{background:color-mix(in oklch, var(--ink) 6%, transparent)}.fin-txn-category{position:relative}.fin-categorize,.fin-assign{height:24px;padding:0 var(--s-2);border:var(--rule-w) dashed var(--muted);color:var(--muted);font:inherit;font-size:var(--fs-6);cursor:pointer;background:0 0;align-items:center;font-weight:500;display:inline-flex}.fin-categorize:hover,.fin-assign:hover{border-color:var(--accent);color:var(--accent)}.fin-category-chip{height:24px;padding:0 var(--s-2);border:var(--rule-w) solid var(--rule);color:var(--ink);font:inherit;font-size:var(--fs-6);cursor:pointer;background:0 0;align-items:center;gap:6px;font-weight:500;display:inline-flex}.fin-category-chip:hover{border-color:var(--ink)}.fin-category-chip{min-width:0;max-width:100%}.fin-category-chip>svg{flex:none}.fin-category-chip-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.fin-day-total{margin-right:calc(32px + var(--s-2))}.fin-load-more{align-items:center;gap:var(--s-2);padding-top:var(--s-4);font-size:var(--fs-5);color:var(--muted);flex-direction:column;display:flex}.stable-cell:has(.fin-picker){overflow:visible}.stable-row:has(.fin-picker){z-index:var(--z-modal);position:relative}.fin-page:has(.fin-picker){padding-bottom:360px;overflow-x:hidden}.fin-picker-scrim{cursor:default;z-index:var(--z-panel);background:0 0;border:none;position:fixed;inset:0}.fin-picker{width:calc(280px * var(--u));z-index:var(--z-modal);background:var(--field);border:var(--rule-w) solid var(--ink);position:absolute;top:28px;left:0}.fin-picker-field{box-sizing:border-box;width:100%;height:var(--ctl);padding:0 var(--s-2);border:none;border-bottom:var(--rule-w) solid var(--rule);font:inherit;font-size:var(--fs-5);color:var(--ink);background:0 0}.fin-picker-field:focus{outline:none}.fin-picker-rows{max-height:280px;overflow-y:auto}.fin-picker-row{width:100%;height:var(--row-list);padding:0 var(--s-2);font:inherit;font-size:var(--fs-5);color:var(--ink);cursor:pointer;text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;display:flex}.fin-picker-row.active{background:color-mix(in oklch, var(--ink) 6%, transparent)}.fin-picker-row.current{font-weight:500}.fin-picker-key{padding:0 var(--s-1);border:var(--rule-w) solid var(--rule);font-size:var(--fs-4);color:var(--muted)}.fin-picker-empty{padding:var(--s-2);color:var(--muted);font-size:var(--t-mono);margin:0}.fin-picker-foot{align-items:center;gap:var(--s-2);min-height:var(--row-edit);padding:0 var(--s-2);font-size:var(--fs-5);border-top:var(--rule-w) solid var(--rule);display:flex}.fin-picker-kind,.fin-picker-pattern{border:var(--rule-w) solid var(--rule);min-width:0;height:24px;font:inherit;font-size:var(--fs-5);color:var(--ink);background:0 0}.fin-picker-pattern{padding:0 var(--s-1);flex:1}.fin-check{align-items:center;gap:var(--s-2);font-size:var(--fs-4);color:var(--ink);display:inline-flex}.fin-check input{flex:none}.fin-steps{align-items:center;gap:var(--s-5);height:var(--row-edit);margin:0;padding:0;list-style:none;display:flex}.fin-step-item{align-items:center;gap:var(--s-2);font-size:var(--fs-5);color:var(--muted);display:flex}.fin-step-item.current{color:var(--ink);font-weight:500}.fin-step-item.done{color:var(--ink)}.fin-step-marker{box-sizing:border-box;border:var(--rule-w) solid var(--rule);width:20px;height:20px;font-size:var(--fs-4);justify-content:center;align-items:center;display:inline-flex}.fin-step-item.current .fin-step-marker{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.fin-step-item.done .fin-step-marker{background:var(--ink);border-color:var(--ink);color:var(--field)}.fin-import-grid{grid-template-columns:minmax(0, 1fr) calc(420px * var(--u));gap:var(--s-5);padding-top:var(--s-4);display:grid}.fin-drop{justify-content:center;align-items:center;gap:var(--s-2);min-height:160px;padding:var(--s-5);border:var(--rule-w) dashed var(--rule);text-align:center;flex-direction:column;display:flex}.fin-drop.over{border-color:var(--accent);background:color-mix(in oklch, var(--accent) 6%, transparent)}.fin-drop-title{font-size:var(--fs-7);margin:0;font-weight:500}.fin-drop-note{font-size:var(--fs-5);color:var(--muted);margin:0}.fin-file-input{display:none}.fin-field{gap:var(--s-2);flex-direction:column;min-width:0;display:flex}.fin-field.inline{flex-direction:row;align-items:center}.fin-field.inline .fin-field-label{flex:none;width:88px}.fin-field.inline .fin-box{flex:1}.fin-box{align-items:center;gap:var(--s-2);box-sizing:border-box;height:var(--ctl);min-width:0;padding:0 var(--s-2);background:var(--field);border:var(--rule-w) solid var(--rule);display:flex;position:relative}.fin-box:focus-within{border-color:var(--accent)}.fin-box input,.fin-box select{min-width:0;height:100%;font:inherit;font-size:var(--fs-5);color:var(--ink);background:0 0;border:none;outline:none;flex:1;padding:0}.fin-box.is-select select{appearance:none;padding-right:var(--s-4)}.fin-box.is-select>svg{right:var(--s-2);pointer-events:none;color:var(--muted);position:absolute}.fin-unit{font-size:var(--fs-5);color:var(--muted);flex:none}.fin-box .key{padding:0 var(--s-1);border:var(--rule-w) solid var(--rule);font-size:var(--fs-4);color:var(--muted);flex:none}.fin-recent{margin:var(--s-2) 0 0;padding:0;list-style:none}.fin-recent li{grid-template-columns:calc(110px * var(--u)) 1fr auto;gap:var(--s-2);height:var(--row-list);font-size:var(--t-mono);color:var(--muted);border-bottom:var(--rule-w) solid var(--rule);align-items:center;display:grid}.fin-map-head,.fin-map-row{grid-template-columns:calc(160px * var(--u)) calc(200px * var(--u)) minmax(0, 1fr)}.fin-map-row{align-items:center;gap:var(--s-3);height:var(--row-edit);font-size:var(--fs-5);display:grid}.fin-map-row select{box-sizing:border-box;height:var(--ctl);padding:0 var(--s-2);background:var(--field);border:var(--rule-w) solid var(--rule);font:inherit;font-size:var(--fs-5);color:var(--ink)}.fin-required{color:var(--accent)}.fin-map-sample,.fin-map-fixed{font-size:var(--fs-5);color:var(--muted)}.fin-map-checks{gap:var(--s-2);padding-top:var(--s-4);flex-direction:column;display:flex}.fin-raw{border:var(--rule-w) solid var(--rule);overflow-x:auto}.fin-raw-row{gap:var(--s-3);padding:var(--s-1) var(--s-2);font-size:var(--fs-3);white-space:nowrap;border-bottom:var(--rule-w) solid var(--rule);display:flex}.fin-raw-row.header{color:var(--accent);text-decoration:underline}.fin-preview-chips{align-items:center;gap:var(--s-2);padding:var(--s-3) 0;display:flex}.fin-preview-head,.fin-preview-row{grid-template-columns:calc(96px * var(--u)) 1fr calc(112px * var(--u)) calc(160px * var(--u)) calc(200px * var(--u))}.fin-preview-row{align-items:center;gap:var(--s-3);min-height:var(--row-list);font-size:var(--t-body);border-bottom:var(--rule-w) solid var(--rule);display:grid}.fin-preview-row.duplicate{color:var(--muted)}.fin-preview-row.error{border-left:var(--rule-active) solid var(--ink);padding-left:var(--s-2)}.fin-matched-by{font-size:var(--fs-3);color:var(--muted)}.fin-review-head,.fin-review-row{grid-template-columns:calc(96px * var(--u)) 1fr calc(112px * var(--u)) calc(160px * var(--u)) calc(260px * var(--u))}.fin-review-row{align-items:center;gap:var(--s-3);min-height:44px;font-size:var(--t-body);border-bottom:var(--rule-w) solid var(--rule);display:grid}.fin-review-row select,.fin-review-rule select,.fin-review-rule input{height:var(--ctl-sm);border:var(--rule-w) solid var(--rule);min-width:0;font:inherit;font-size:var(--fs-4);color:var(--ink);background:0 0}.fin-review-rule{gap:var(--s-1);flex-direction:column;display:flex}.fin-review-pattern{gap:var(--s-1);display:flex}.fin-import-foot{justify-content:space-between;align-items:center;gap:var(--s-3);height:56px;margin-top:var(--s-4);border-top:var(--rule-w) solid var(--rule);display:flex}.fin-import-status{font-size:var(--t-mono);color:var(--muted)}.fin-import-actions{align-items:center;gap:var(--s-2);display:flex}.fin-done{padding-top:var(--s-4)}.fin-done-into{margin:0 0 var(--s-4);font-size:var(--t-mono);color:var(--muted)}.fin-done-counts{gap:var(--s-6);display:flex}.fin-count{gap:var(--s-1);flex-direction:column;display:flex}.fin-count-value{font-size:var(--s-6);font-weight:500;line-height:1}.fin-count-label{font-size:var(--t-label);font-variant:all-small-caps;letter-spacing:var(--track-label);color:var(--muted)}.fin-done-actions{gap:var(--s-2);padding:var(--s-5) 0;display:flex}.fin-done-undo{font-size:var(--t-mono);color:var(--muted)}.fin-budget-head,.fin-item-row{grid-template-columns:1fr calc(104px * var(--u)) calc(120px * var(--u)) calc(96px * var(--u)) calc(112px * var(--u)) calc(40px * var(--u))}.fin-item-row{align-items:center;gap:var(--s-3);font-size:var(--t-body);border-bottom:var(--rule-w) solid var(--rule);cursor:pointer;display:grid}.fin-item-row.inactive{color:var(--muted)}.fin-item-row.inactive .fin-item-monthly{text-decoration:line-through}.fin-item-paused{font-size:var(--fs-3);color:var(--muted)}.fin-item-cadence,.fin-item-due{font-size:var(--t-mono);color:var(--muted)}.fin-item-amount,.fin-item-monthly{font-size:var(--t-mono);text-align:right}.fin-item-row.editing{min-height:var(--row-edit)}.fin-item-row.editing input,.fin-item-row.editing select{box-sizing:border-box;height:var(--ctl);min-width:0;padding:0 var(--s-2);background:var(--field);border:var(--rule-w) solid var(--rule);font:inherit;font-size:var(--fs-5);color:var(--ink)}.fin-item-row.editing input:focus,.fin-item-row.editing select:focus{border-color:var(--accent);outline:none}.fin-item-row.editing .select-box select{height:100%;padding:0 24px 0 var(--s-2);background:0 0;border:none}.fin-item-edit{background:color-mix(in oklch, var(--ink) 6%, transparent)}.fin-edit-actions{align-items:center;gap:var(--s-2);height:var(--row-edit);padding:0;display:flex}.fin-edit-hint{font-size:var(--fs-3);color:var(--muted)}.fin-edit-remove{margin-left:auto}.fin-page .fin-edit-remove:hover:not(:disabled){color:var(--bad-text)}.fin-group-head{align-items:center;gap:var(--s-2);height:24px;margin-top:var(--s-3);display:flex}.fin-group-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:var(--t-label);font-variant:all-small-caps;letter-spacing:var(--track-label);color:var(--muted);flex:0 auto;font-weight:500;overflow:hidden}.fin-group-count{font-size:var(--t-label);color:var(--muted);flex:none}.fin-group-total{margin-right:calc(40px + var(--s-2));font-size:var(--t-mono);color:var(--ink);flex:none}.fin-group-head .caption-rule{min-width:var(--s-4)}.fin-budget-total{margin-top:var(--s-3);padding-top:var(--s-2);border-top:var(--rule-w) solid var(--ink);font-size:var(--t-title);justify-content:space-between;align-items:baseline;font-weight:500;display:flex}.fin-add-form{gap:var(--s-4);margin-top:var(--s-5);padding-top:var(--s-3);border-top:var(--rule-w) solid var(--rule);grid-template-columns:repeat(auto-fill,minmax(160px,1fr));display:grid}.fin-add-form>.fin-block-head,.fin-add-form>.fin-edit-actions{grid-column:1/-1}.fin-toggle{align-items:center;display:inline-flex}.fin-toggle input{opacity:0;width:0;height:0;position:absolute}.fin-toggle:focus-within{outline:2px solid var(--accent);outline-offset:2px}.fin-debts-top{flex-wrap:wrap;align-items:flex-end}.fin-debts-range{gap:var(--s-1);margin-left:auto;display:flex}.fin-debts-chart{margin:var(--s-3) 0 var(--s-5);min-width:0}.fin-debts-chart>.fin-empty{margin:0}.fin-debt-name-cell{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.fin-debt-name{font-size:var(--fs-7);margin:0;font-weight:500}.fin-debt-kind{font-size:var(--fs-3);color:var(--muted);font-weight:400}.fin-debt-terms{margin:var(--s-1) 0 0;font-size:var(--t-mono);color:var(--muted)}.fin-debt-back{align-items:center;gap:var(--s-1);margin:var(--s-3) 0;font-size:var(--t-mono);display:inline-flex}.fin-debt-head{justify-content:space-between;align-items:flex-start;gap:var(--s-4);display:flex}.fin-debt-head .fin-debts-total{margin:var(--s-1) 0 0;display:block}.fin-debt-tiles{gap:var(--s-3);margin-bottom:var(--s-3);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.fin-debt-tile{gap:var(--s-1);min-width:0;padding:var(--s-3);background:var(--field);border:var(--rule-w) solid var(--rule);flex-direction:column;display:flex}.fin-debt-tile-note{font-size:var(--fs-3);color:var(--muted)}.fin-debt-tile.is-asking{opacity:.5}.fin-debt-readings{max-width:360px;margin:0 0 var(--s-4);font-size:var(--t-mono);padding:0;list-style:none}.fin-debt-readings li{padding:var(--s-1) 0;border-bottom:var(--rule-w) solid var(--rule);justify-content:space-between;display:flex}.fin-debt-form{padding:var(--s-4) 0;border-top:none;border-bottom:var(--rule-w) solid var(--rule);margin-top:0}.fin-debt-form .fin-box input{min-width:0}.fin-debt-form-error{font-size:var(--fs-3);color:var(--bad-text)}.fin-extra{max-width:240px}.fin-extra input{text-align:right}.fin-extra-result{color:var(--accent);font-weight:500}.fin-settings-note{font-size:var(--fs-3);color:var(--muted)}.fin-wage{gap:var(--s-2);flex-direction:column;align-items:flex-start;display:flex}.fin-wage .fin-field{width:100%;max-width:240px}.fin-wage .fin-field input{text-align:right}.fin-derived{font-size:var(--t-mono);color:var(--muted);margin:0}.fin-acc-head,.fin-acc-row{grid-template-columns:20px 1fr calc(96px * var(--u)) calc(72px * var(--u)) calc(56px * var(--u)) 32px 32px}.fin-cat-head,.fin-cat-row{grid-template-columns:20px 1fr calc(96px * var(--u)) calc(44px * var(--u)) 20px}.fin-rule-head,.fin-rule-row{grid-template-columns:calc(44px * var(--u)) 1fr calc(120px * var(--u)) 36px 20px}.fin-acc-row,.fin-cat-row,.fin-rule-row{align-items:center;gap:var(--s-2);min-height:var(--row-list);font-size:var(--t-body);border-bottom:var(--rule-w) solid var(--rule);display:grid}.fin-acc-row.archived{color:var(--muted)}.fin-acc-row input,.fin-acc-row select,.fin-cat-row input,.fin-cat-row select,.fin-cat-cell input,.fin-cat-cell select,.fin-rule-row input,.fin-rule-row select,.fin-rule-add input,.fin-rule-add select,.fin-add-row input,.fin-merge select{min-width:0;height:var(--ctl-sm);padding:0 var(--s-1);border:none;border-bottom:var(--rule-w) solid transparent;font:inherit;font-size:var(--t-body);color:inherit;background:0 0}.fin-acc-row input:focus,.fin-cat-row input:focus,.fin-cat-cell input:focus,.fin-rule-row input:focus{border-bottom-color:var(--accent);outline:none}.fin-cat-icon,.fin-cat-icon:hover,.fin-cat-name{align-items:center;gap:var(--s-2);min-width:0;display:flex}.fin-cat-name input{flex:1}.fin-picker-create{color:var(--accent)}.fin-cat-editor{margin:var(--s-3) 0;padding:var(--s-3);border:var(--rule-w) solid var(--rule)}.fin-icon-picker{gap:var(--s-1);padding:var(--s-2) 0;grid-template-columns:repeat(12,26px);display:grid}.fin-icon-cell{border:var(--rule-w) solid transparent;width:26px;height:26px;color:var(--ink);cursor:pointer;background:0 0;justify-content:center;align-items:center;display:flex}.fin-icon-cell.selected{border-color:var(--ink)}.fin-merge{align-items:center;gap:var(--s-2);font-size:var(--t-mono);color:var(--muted);display:flex}.fin-grip{color:var(--muted);cursor:grab;align-items:center;gap:2px;display:flex}.fin-grip button{color:inherit;cursor:pointer;background:0 0;border:none;padding:0;line-height:0}.fin-grip button:hover{color:var(--ink)}.fin-rule-row.dragging{border:var(--rule-w) solid var(--ink);box-shadow:2px 2px 0 0 var(--rule)}.fin-rule-pattern{gap:var(--s-1);min-width:0;display:flex}.fin-rule-hits-unit{display:none}.fin-rule-add{align-items:center;gap:var(--s-2);padding-top:var(--s-2);color:var(--muted);display:flex}.fin-add-row{height:var(--row-item);color:var(--muted);align-items:center;display:flex}.fin-add-row .fin-box{flex:1;max-width:320px}.btn-primary:disabled{opacity:.45;cursor:default}@media (width<=720px){.fin-page{padding:var(--s-3)}.fin-net-value,.fin-debts-total{font-size:var(--s-6)}.fin-part-value{font-size:var(--t-title)}.fin-top{gap:var(--s-3);flex-direction:column}.fin-net-after-mobile{padding:var(--s-2) 0;display:block}.fin-net-after-desktop{display:none}.fin-budget-row{height:auto;padding:var(--s-2) 0;grid-template-columns:1fr auto;grid-template-areas:"name figures""status status""track track";row-gap:2px}.fin-budget-name{grid-area:name}.fin-budget-figures{grid-area:figures}.fin-budget-status{grid-area:status}.fin-track{grid-area:track}.fin-txn-head{display:none}.fin-txn-row{align-items:center;column-gap:var(--s-2);grid-template-columns:minmax(0,1fr) auto auto;grid-template-areas:"desc desc amount""account category amount";row-gap:2px;min-height:56px}.fin-txn-desc{grid-area:desc}.fin-txn-account{grid-area:account;min-width:0}.fin-txn-category{grid-area:category;justify-self:end}.fin-acc-head{display:none}.fin-acc-row{grid-template-columns:20px minmax(0, 1fr) calc(72px * var(--u)) auto var(--ctl-lg);row-gap:var(--s-1);padding:var(--s-2) 0;grid-template-areas:"icon name name name remove"".kind four count active"}.fin-acc-row>:first-child{grid-area:icon}.fin-acc-row>:nth-child(2){grid-area:name}.fin-acc-row>:nth-child(3){grid-area:kind}.fin-acc-row>:nth-child(4){grid-area:four}.fin-acc-row>:nth-child(5){grid-area:count}.fin-acc-row>:nth-child(6){grid-area:active;justify-self:center}.fin-acc-row>:nth-child(7){grid-area:remove}.fin-acc-row>:nth-child(5):after{content:" txns";color:var(--muted)}.fin-acc-row input,.fin-acc-row select{height:var(--ctl-lg)}.fin-picker{top:auto;left:var(--s-4);right:var(--s-4);bottom:calc(var(--bottom-bar) + var(--s-2) + env(safe-area-inset-bottom,0px));width:auto;position:fixed}.fin-item-row.editing{gap:var(--s-2);padding:var(--s-2) 0;grid-template-columns:1fr 1fr}.fin-item-row.editing>input:first-child{grid-column:1/-1}.fin-item-row.editing input{height:var(--ctl-lg)}.fin-item-row.editing>span:last-child:empty{display:none}.fin-txn-amount{font-size:var(--fs-7);grid-area:amount}.fin-txn-rule{display:none}.fin-chip-select{max-width:calc(116px * var(--u))}.fin-subnav{height:auto;padding:0 var(--s-4);flex-wrap:wrap;row-gap:0}.fin-tabs{flex-wrap:wrap;height:auto}.fin-tab{height:40px}.fin-chips{padding:0 0 var(--s-2);flex-wrap:wrap;flex:100%;overflow-x:visible}.fin-readout{display:none}.fin-block-head{flex-direction:column;align-items:flex-start;gap:2px}.fin-block-head .caption-rule{display:none}.fin-import-grid,.fin-debt-tiles{grid-template-columns:minmax(0,1fr)}.fin-debts-range{margin-left:0}.fin-rule-add{flex-wrap:wrap}.fin-subnav>.fin-import-link{gap:var(--s-1);margin-block:var(--s-1);flex:none;display:inline-flex}.fin-subnav:has(>.fin-import-link)>.fin-tabs{flex-basis:0}.fin-steps{gap:var(--s-3);height:var(--ctl-lg)}.fin-step-item:not(.current) .fin-step-label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.fin-map-head{display:none}.fin-map-row{row-gap:var(--s-1);height:auto;padding:var(--s-2) 0;border-bottom:var(--rule-w) solid var(--rule);grid-template-columns:minmax(0,1fr)}.fin-map-row>span:empty{display:none}.fin-map-row select{width:100%;height:var(--ctl-lg);font-size:var(--fs-9)}.fin-map-sample,.fin-map-fixed{overflow-wrap:anywhere}.fin-check{min-height:var(--ctl-lg);font-size:var(--fs-7)}.fin-check input{width:20px;height:20px}.fin-preview-head,.fin-review-head{display:none}.fin-preview-row,.fin-review-row{row-gap:var(--s-1);min-height:0;margin:0 calc(-1 * var(--s-2));padding:var(--s-2);grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"day amount""desc desc""matched category"}.fin-review-row{grid-template-areas:"day amount""desc desc""category category""rule rule"}.fin-import-day{font-size:var(--t-mono);color:var(--muted);grid-area:day}.fin-import-amount{grid-area:amount}.fin-import-desc{overflow-wrap:anywhere;grid-area:desc}.fin-import-category{grid-area:category;justify-self:end}.fin-preview-row .fin-matched-by{grid-area:matched;align-self:center}.fin-review-rule{grid-area:rule}.fin-review-row .fin-import-category{justify-self:stretch}.fin-review-row select,.fin-review-rule select,.fin-review-rule input:not([type=checkbox]){height:var(--ctl-lg);padding:0 var(--s-2);font-size:var(--fs-9)}.fin-review-pattern input{flex:1}.fin-preview-chips,.fin-done-counts,.fin-done-actions{flex-wrap:wrap}.fin-done-counts{gap:var(--s-4) var(--s-5)}.fin-import-foot{row-gap:var(--s-2);height:auto;padding:var(--s-3) 0;flex-wrap:wrap}.fin-import-status{flex:100%}.fin-import-actions{margin-left:auto}.fin-rule-head{display:none}.fin-rule-row{row-gap:var(--s-2);padding:var(--s-2) 0 var(--s-3);grid-template-columns:minmax(0,1fr) auto auto;grid-template-areas:"grip hits remove""pattern pattern pattern""category category category"}.fin-grip{grid-area:grip}.fin-grip button{justify-content:center;align-items:center;width:40px;height:40px;display:inline-flex}.fin-rule-hits{font-size:var(--t-mono);color:var(--muted);grid-area:hits}.fin-rule-hits .fin-rule-hits-unit{display:inline}.fin-rule-remove{grid-area:remove}.fin-rule-pattern{gap:var(--s-2);grid-area:pattern}.fin-rule-row .fin-rule-category{grid-area:category}.fin-rule-row input,.fin-rule-row select,.fin-rule-add input,.fin-rule-add select{box-sizing:border-box;height:var(--ctl-lg);padding:0 var(--s-2);background:var(--field);border:var(--rule-w) solid var(--rule);font-size:var(--fs-9)}.fin-rule-pattern select{flex:none}.fin-rule-pattern input,.fin-rule-add input{flex:1 1 0}.fin-rule-add .fin-rule-category{flex:1 1 calc(100% - var(--ctl-lg) - var(--s-2))}.stable-row.is-editing{box-shadow:inset var(--rule-active) 0 0 0 var(--ink);padding-left:var(--s-2)}.fin-icon-picker{grid-template-columns:repeat(6,40px)}.fin-icon-cell{width:40px;height:40px}.fin-merge{flex-wrap:wrap}.fin-merge select{height:var(--ctl-lg);border:var(--rule-w) solid var(--rule);font-size:var(--fs-9);flex:1}.fin-group-total{margin-right:calc(28px + var(--s-3))}.fin-day-total{margin-right:calc(var(--ctl-lg) + var(--s-3))}.fin-cat-editor .fin-block-head{flex-direction:row;justify-content:space-between;align-items:center}.header-center .fin-month{justify-content:stretch;width:100%}.header-center .fin-month-label{flex:1;justify-content:center}.fin-chips>.fin-select{flex:1 1 calc(50% - var(--s-1));min-width:0}.fin-picker-field,.fin-picker-kind,.fin-picker-pattern{height:var(--ctl-lg);font-size:var(--fs-9)}.fin-picker-foot{padding:var(--s-1) var(--s-2);flex-wrap:wrap}}.fin-import-link{display:none}.fin-acc-icon{width:20px;height:20px;color:var(--muted);justify-content:center;align-items:center;display:inline-flex}.fin-settings input[type=checkbox]{background:0 0;border:none;flex:none;width:auto;padding:0}.fin-settings .fin-check{white-space:nowrap}.stable{flex-direction:column;min-width:0;display:flex}.stable-head-row,.stable-row{grid-template-columns:var(--stable-cols);align-items:center;gap:var(--s-2);min-width:0;display:grid}.stable-head-row{z-index:var(--z-chrome);background:var(--field);border-bottom:var(--rule-w) solid var(--rule);height:24px;font-size:var(--fs-4);font-variant:all-small-caps;letter-spacing:var(--track-label);color:var(--muted);position:sticky;top:0}.stable-head.sortable-head{display:contents}.sortable-head .sort-col.static{cursor:default}.stable-cell{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.stable-cell.right{text-align:right;justify-self:end}.stable-row{height:var(--row-list);border-bottom:var(--rule-w) solid var(--rule)}.stable-row.is-clickable{cursor:pointer}.stable-row[data-selected=yes]{box-shadow:inset var(--rule-active) 0 0 0 var(--accent)}.stable-group{align-items:center;gap:var(--s-2);height:24px;margin-top:var(--s-3);font-size:var(--t-label);font-variant:all-small-caps;letter-spacing:var(--track-label);color:var(--muted);display:flex}.stable-bulk{z-index:var(--z-banner);align-items:center;gap:var(--s-2);height:var(--ctl);padding:0 var(--s-2);background:var(--field);border:var(--rule-w) solid var(--ink);display:flex;position:sticky;top:0}.stable-bulk-count{color:var(--muted);margin-right:auto}.stable-check{align-items:center;display:inline-flex}.stable-check input{width:14px;height:14px;accent-color:var(--ink)}.stable-mobile-sort{display:none}@media (width<=720px){.stable-head-row{display:none}.stable-mobile-sort{justify-content:flex-end;align-items:center;gap:var(--s-2);padding:var(--s-2) 0;border-bottom:var(--rule-w) solid var(--rule);display:flex}.stable-mobile-sort-by{min-height:40px;font:inherit;font-size:var(--fs-9);color:var(--ink);border:var(--rule-w) solid var(--rule);padding:0 var(--s-2);background:0 0}.stable-mobile-sort-dir{min-width:40px;min-height:40px}.stable-row{align-items:baseline;gap:var(--s-1) var(--s-3);height:auto;min-height:var(--row-touch);padding:var(--s-2) 0;flex-wrap:wrap;display:flex}.stable-row:before{content:"";height:0;margin-bottom:calc(-1 * var(--s-1));flex:0 0 100%;order:3}.stable-cell[data-mobile=hide]{display:none}.stable-cell[data-mobile=primary]{flex:1 1 0;order:1;min-width:0}.stable-cell[data-mobile=figure]{text-align:right;flex:0 auto;order:2;max-width:65%}.stable-cell[data-mobile=meta]{max-width:100%;font-size:var(--t-mono);color:var(--muted);flex:0 auto;order:4}.stable-cell[data-mobile=bar]{flex:100%;order:5;min-width:0}.stable-cell[data-mobile=meta][data-label]:before,.stable-cell[data-mobile=figure][data-caption]:before{content:attr(data-label);margin-right:var(--s-1);font-size:var(--t-label);font-variant:all-small-caps;letter-spacing:var(--track-label);color:var(--muted)}}.screen-skeleton{flex-direction:column;display:flex}.screen-skeleton-row{height:var(--row-list);border-bottom:var(--rule-w) solid var(--rule);opacity:.7}.screen-skeleton-row:before{content:"";background:var(--rule);width:40%;height:1px;margin-top:15px;display:block}@media (prefers-reduced-motion:no-preference){.screen-skeleton-row{animation:1.4s ease-in-out infinite screen-skeleton-pulse}.screen-skeleton-row:nth-child(2n){animation-delay:.15s}.screen-skeleton-row:nth-child(3n){animation-delay:.3s}}@keyframes screen-skeleton-pulse{0%,to{opacity:.25}50%{opacity:.6}}.screen-empty{padding:var(--s-4) 0;font-size:var(--t-mono);color:var(--muted)}.screen-error{align-items:center;gap:var(--s-3);padding:var(--s-3);border:var(--rule-w) solid var(--ink);display:flex}.toast-stack{left:50%;bottom:var(--s-4);align-items:center;gap:var(--s-2);box-sizing:border-box;width:max-content;max-width:min(560px, calc(100vw - 2 * var(--s-4)));pointer-events:none;z-index:calc(var(--z-modal) + 1);flex-direction:column;display:flex;position:fixed;transform:translate(-50%)}.toast-stack>.toast.toast-app{box-sizing:border-box;pointer-events:auto;max-width:min(420px,100%);position:static;transform:none}.toast .toast-main{align-items:center;gap:var(--s-2);flex:auto;min-width:0;display:flex}.toast .toast-title{flex:auto;min-width:0}.toast .toast-close,.toast .toast-action{flex:none}.toast .toast-close{width:var(--ctl);min-width:var(--ctl);color:var(--muted)}@media (width<=600px),(pointer:coarse) and (width<=900px){.toast .toast-close{width:var(--ctl-lg);min-width:var(--ctl-lg)}}@media (width<=720px){.toast-stack{bottom:calc(var(--bottom-bar-safe) + var(--s-2))}.toast.toast-app .toast-title{-webkit-line-clamp:2;line-clamp:2;white-space:normal;-webkit-box-orient:vertical;min-width:0;display:-webkit-box}body:has(.loop-detail-backdrop) .toast-stack{top:calc(env(safe-area-inset-top,0px) + var(--s-2));bottom:auto;left:var(--s-4);max-width:calc(100vw - 2 * var(--s-4) - 48px);align-items:flex-start;transform:none}}.toast.toast-app.is-error{align-items:stretch;gap:var(--s-2);border-color:var(--ink);width:min(560px, calc(100vw - 2 * var(--s-4)));flex-direction:column;max-width:100%}.toast.toast-app.is-error .toast-main{align-items:flex-start}.toast.toast-app.is-error .toast-title{-webkit-line-clamp:3;line-clamp:3;white-space:normal;text-overflow:clip;overflow-wrap:anywhere;-webkit-user-select:text;user-select:text;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.toast.toast-app.is-error .toast-title.is-open{-webkit-line-clamp:unset;line-clamp:none;max-height:min(30vh,240px);display:block;overflow-y:auto}.toast .toast-foot{justify-content:flex-end;align-items:center;gap:var(--s-2);flex-wrap:wrap;display:flex}.toast .toast-more{font-size:var(--fs-6);margin-right:auto}.datefield{align-items:center;gap:var(--s-1);min-width:0;display:inline-flex}.datefield-text{min-width:0;height:var(--ctl-sm);border:none;border-bottom:var(--rule-w) solid var(--rule);color:var(--ink);font:inherit;background:0 0;flex:auto;padding:0}.datefield-text:focus-visible{outline:1px solid var(--accent);outline-offset:1px}.datefield.is-bad .datefield-text{border-bottom-color:var(--ink);border-bottom-width:1px}input.datefield-picker{opacity:0;pointer-events:none;border:0;width:1px;height:1px;padding:0;position:absolute}.datefield-open,.datefield-clear{color:var(--muted)}.datefield-clear.is-slot{display:none}.datefield-hint{color:var(--muted);white-space:nowrap}.detail .detail-field .datefield{display:flex}.detail .detail-field .datefield-open,.detail .detail-field .datefield-clear{flex:none}.detail .detail-field .datefield-clear.is-slot{visibility:hidden;display:inline-flex}.detail .detail-field .datefield-hint{flex:none;min-width:7ch}.datefield.is-bad .datefield-hint{color:var(--ink)}.stable-group>*{flex:1;min-width:0}@media (hover:hover){.stable-row.is-clickable:hover{background:var(--wash-hover)}}.stable-row:focus-visible{outline:1px solid var(--accent);outline-offset:-1px}.new-loop-backdrop{pointer-events:auto;background:color-mix(in srgb, var(--ink) 20%, transparent);justify-content:center;align-items:center}.new-loop{pointer-events:auto;width:min(var(--dialog), calc(100vw - 48px));border:var(--rule-w) solid var(--ink);flex-direction:column;max-height:min(88vh,780px,100%);padding:0;display:flex;overflow:hidden}.new-loop form{flex-direction:column;min-height:0;display:flex}.new-loop header{align-items:center;gap:var(--s-3);box-sizing:border-box;height:48px;padding:0 var(--s-5);border-bottom:var(--rule-w) solid var(--rule);flex:none;display:flex}.new-loop-name,.new-loop-caption-word{font-size:var(--fs-4);font-variant:all-small-caps;letter-spacing:var(--track-label);color:var(--muted);margin:0;font-weight:500}.new-loop-keys{font-size:var(--fs-4);color:var(--muted);margin-left:auto}.new-loop-close{flex:none;margin-left:auto;margin-right:-8px}.new-loop-body{min-height:0;padding:var(--s-4) var(--s-5) var(--s-2);gap:var(--s-4);scrollbar-width:thin;scrollbar-color:var(--rule) transparent;scrollbar-gutter:stable;flex-direction:column;flex:1;display:flex;overflow-y:auto}.new-loop-field{gap:var(--s-2);flex-direction:column;min-width:0;display:flex}.new-loop-caption{align-items:center;gap:var(--s-2);min-width:0;display:flex}.new-loop-caption-word{flex:none}.new-loop-caption-rule{min-width:var(--s-4);border-top:var(--rule-w) solid var(--rule);flex:1}.new-loop .muted{font-size:var(--fs-5);color:var(--muted);margin:0}.new-loop-caption-hint{text-overflow:ellipsis;white-space:nowrap;max-width:70%;font-size:var(--fs-4);color:var(--muted);flex:none;overflow:hidden}.new-loop-title{box-sizing:border-box;width:100%;height:40px;font-size:var(--fs-11);border:none;border-bottom:var(--rule-w) solid var(--rule);color:var(--ink);background:0 0;outline:none;padding:0}.new-loop-title:focus{border-bottom-color:var(--accent)}.new-loop-title::placeholder{color:var(--muted)}.new-loop textarea{box-sizing:border-box;width:100%;min-height:64px;padding:var(--s-2) var(--s-3);border:var(--rule-w) solid var(--rule);font:inherit;font-size:var(--fs-7);resize:none;line-height:1.5;overflow:hidden}.new-loop-columns{gap:var(--s-4) var(--s-5);grid-template-columns:1fr 1fr;align-items:start;display:grid}.new-loop-cell-1a{grid-area:1/1}.new-loop-cell-1b{grid-area:1/2}.new-loop-cell-2a{grid-area:2/1}.new-loop-cell-2b{grid-area:2/2}.new-loop-cell-3b{grid-area:3/2}.new-loop-add{width:min(calc(640px * var(--u)), calc(100vw - 48px));max-height:min(100vh - 24px,1040px)}.new-loop-add .new-loop-body{gap:var(--s-2);padding:var(--s-2) var(--s-5)}.new-loop-add .new-loop-field{gap:var(--s-1)}.new-loop-add header{height:40px}.new-loop-add .new-loop-subpair{gap:var(--s-4);grid-template-columns:minmax(0,5fr) minmax(0,7fr);display:grid}.new-loop-add .new-loop-body>*{flex:none}.new-loop-add .new-loop-even .chips,.new-loop-add .new-loop-cats{grid-template-columns:var(--tracks,repeat(var(--cols), minmax(0, 1fr)));gap:var(--s-2);display:grid}.new-loop-add .new-loop-even .chip,.new-loop-add .new-loop-cats>.chip{min-width:0;padding:0 var(--s-1)}.new-loop-add .new-loop-even.is-figures .chip{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.new-loop-add .new-loop-even.is-dense .chips{gap:var(--s-1)}.new-loop-add .new-loop-even.is-dense .chip{min-height:var(--ctl);font-size:var(--fs-6);padding:0}.new-loop-add .new-loop-cats-group{display:contents}.new-loop-add .new-loop-cats .chip{justify-content:flex-start;gap:var(--s-2);padding:0 var(--s-2)}.new-loop-add .new-loop-cats .chip.on .category-dot{border:1px solid var(--on-accent)}.new-loop-add .new-loop-cat-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.new-loop-add .new-loop-title{height:32px}.new-loop-add .sub{gap:var(--s-1)}.new-loop-add .new-loop-caption{line-height:1.15}.new-loop-add .new-loop-schedule{gap:var(--s-2);flex-direction:column;display:flex}.new-loop-add .new-loop-schedule>.sub+.sub{margin-top:0}.new-loop-add .new-loop-note{font-size:var(--fs-5);color:var(--muted);margin:0;line-height:1.4}.new-loop-add .new-loop-datefield .datefield{width:100%;display:flex}.new-loop-add .new-loop-duo{gap:var(--s-3) var(--s-5);grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);align-items:start;display:grid}.new-loop-add .new-loop-fold{margin-left:calc(-1 * var(--s-3));align-self:flex-start}.new-loop-add .new-loop-extras{gap:var(--s-3) var(--s-5);grid-template-columns:auto minmax(0,1fr);align-items:start;display:grid}.new-loop .chips{align-items:center;gap:var(--s-2);flex-wrap:wrap;display:flex}.new-loop .sub{gap:var(--s-2);flex-direction:column;display:flex}.new-loop .sub+.sub{margin-top:var(--s-3)}.new-loop .sub-label{font-size:var(--fs-5);color:var(--muted)}.new-loop footer{align-items:center;gap:var(--s-2);box-sizing:border-box;height:56px;padding:0 var(--s-5);border-top:var(--rule-w) solid var(--rule);flex:none;display:flex}.new-loop-summary{min-width:0;font-size:var(--t-mono);color:var(--muted);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;flex:1;line-height:1.35;display:-webkit-box;overflow:hidden}.new-loop .dup-warning{font-family:var(--font-mono);font-size:var(--t-mono);color:var(--warn-text);margin:0}@media (width<=600px),(pointer:coarse) and (width<=900px){.new-loop-backdrop{align-items:flex-end;padding:0}.new-loop{border-bottom:none;width:100%;max-height:min(88vh,100%)}.new-loop header,.new-loop footer{height:auto;padding:var(--s-3) var(--s-4)}.new-loop footer{padding-bottom:calc(var(--s-3) + env(safe-area-inset-bottom,0px))}.new-loop-body{padding:var(--s-4) var(--s-4) var(--s-6);-webkit-mask-image:linear-gradient(to bottom, black calc(100% - var(--s-5)), transparent);mask-image:linear-gradient(to bottom, black calc(100% - var(--s-5)), transparent)}.new-loop-caption{row-gap:var(--s-1);flex-wrap:wrap}.new-loop-caption-hint{white-space:normal;flex:100%;max-width:none}.new-loop-columns{grid-template-columns:1fr}.new-loop-columns>.new-loop-field{grid-area:auto}.new-loop footer{row-gap:var(--s-2);flex-wrap:wrap}.new-loop-summary{flex:100%;display:block}.new-loop footer .btn-quiet{margin-left:auto}.new-loop-title,.new-loop textarea{font-size:var(--fs-9)}}.new-loop-add-backdrop{z-index:var(--z-modal);padding:var(--s-3);position:fixed;inset:0}.new-loop-add footer{height:auto;min-height:48px;padding-block:var(--s-2)}.new-loop-add .dup-warning{justify-content:space-between;align-items:center;gap:var(--s-3);display:flex}.new-loop-add .dup-warning .btn{flex:none}@media (width<=720px),(pointer:coarse) and (width<=900px){.new-loop-add-backdrop{align-items:stretch;padding:0}.new-loop-add{border:none;width:100%;height:100%;max-height:none}.new-loop-add header{padding-top:calc(var(--s-3) + env(safe-area-inset-top,0px))}.new-loop-add form{flex:1}.new-loop-add .new-loop-body{gap:var(--s-4);padding:var(--s-4) var(--s-4) var(--s-6)}.new-loop-add .new-loop-field{gap:var(--s-2)}.new-loop-add .new-loop-subpair{grid-template-columns:minmax(0,1fr)}.new-loop-add header{height:auto}.new-loop-add .new-loop-even .chips,.new-loop-add .new-loop-cats{grid-template-columns:var(--tracks-s,repeat(var(--cols-s), minmax(0, 1fr)))}.new-loop-add .chip,.new-loop-add .new-loop-even.is-dense .chip{min-height:var(--ctl-lg)}.new-loop-add .new-loop-even.is-strip .chip{font-size:var(--fs-6);padding:0}.new-loop-add .new-loop-duo,.new-loop-add .new-loop-extras{grid-template-columns:minmax(0,1fr)}.new-loop-add footer{padding:var(--s-2) var(--s-4) calc(var(--s-2) + env(safe-area-inset-bottom,0px));flex-wrap:nowrap}.new-loop-add .new-loop-summary{white-space:normal;overflow-wrap:anywhere;flex:1 1 0;display:-webkit-box}.new-loop-add .new-loop-cats .chip.is-wide{grid-column:1/-1}.new-loop-add footer .btn{flex:none}}.review{min-height:0;padding:18px var(--s-5) var(--s-5);flex-direction:column;flex:1;gap:10px;display:flex;overflow:hidden}.rv-head,.rv-tabs{flex:none}.rv-head{flex-wrap:wrap;align-items:baseline;gap:16px;padding-bottom:6px;display:flex}.rv-range{font-size:var(--t-mono);color:var(--muted);font-variant-numeric:tabular-nums}.rv-ranges{gap:6px;margin-left:auto;display:flex}.rv-tabs{gap:var(--s-5);border-bottom:var(--rule-w) solid var(--rule);display:flex}.rv-tab{height:var(--ctl-sm);border:none;border-bottom:var(--rule-active) solid transparent;font:inherit;font-size:var(--t-body);color:var(--muted);cursor:pointer;background:0 0;flex:none;padding:0}.rv-tab:hover{color:var(--ink)}.rv-tab.on{color:var(--accent);border-bottom-color:var(--accent);font-weight:500}.rv-tab:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.scroll-strip{--strip-fade:calc(var(--s-5) + var(--s-4));scroll-behavior:auto;overscroll-behavior-x:contain;scrollbar-width:none;scroll-snap-type:x proximity;scroll-padding-inline:var(--strip-fade);overflow-x:auto}.scroll-strip::-webkit-scrollbar{display:none}.scroll-strip>*{scroll-snap-align:start;flex:none}.scroll-strip[data-more=end]{-webkit-mask-image:linear-gradient(to right, black calc(100% - var(--strip-fade)), transparent);-webkit-mask-image:linear-gradient(to right, black calc(100% - var(--strip-fade)), transparent);mask-image:linear-gradient(to right, black calc(100% - var(--strip-fade)), transparent)}.scroll-strip[data-more=start]{-webkit-mask-image:linear-gradient(to right, transparent, black var(--strip-fade));-webkit-mask-image:linear-gradient(to right, transparent, black var(--strip-fade));mask-image:linear-gradient(to right, transparent, black var(--strip-fade))}.scroll-strip[data-more=both]{-webkit-mask-image:linear-gradient(to right, transparent, black var(--strip-fade), black calc(100% - var(--strip-fade)), transparent);-webkit-mask-image:linear-gradient(to right, transparent, black var(--strip-fade), black calc(100% - var(--strip-fade)), transparent);mask-image:linear-gradient(to right, transparent, black var(--strip-fade), black calc(100% - var(--strip-fade)), transparent)}.scroll-strip>:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}@media (width<=720px){.subnav,.fin-subnav,.projects-subnav,.tasks-subnav{height:auto;min-height:var(--row-edit);column-gap:var(--s-2);padding:0 var(--s-4);flex-wrap:wrap;flex:none;row-gap:0}.fin-subnav>.fin-tabs,.subnav-tabs,.learn-chips,.tasks-filters{flex:auto}.fin-subnav>.fin-tabs,.subnav-tabs,.rv-tabs,.detail .detail-tabs,.learn-chips,.tasks-filters{flex-wrap:wrap;min-width:0;overflow:visible}.fin-subnav>.fin-tabs,.subnav-tabs,.rv-tabs{column-gap:var(--s-3);row-gap:0;height:auto}.fin-subnav>.fin-tabs>.fin-tab,.subnav-tab,.rv-tab,.learn-chips>*,.tasks-filters>*{flex:none}.fin-subnav>.fin-tabs>.fin-tab,.subnav-tab,.rv-tab{height:var(--ctl-lg)}.projects-subnav>*,.tasks-subnav>:not(.tasks-filters){margin-block:var(--s-1)}.subnav:has(>.subnav-tabs)>:not(.subnav-tabs){margin-block:var(--s-1)}.tasks-filters{row-gap:var(--s-2);height:auto;padding-top:var(--s-2);padding-bottom:var(--s-2)}.learn-filters .learn-chips{gap:var(--s-1)}.tasks-readout{white-space:normal;margin-left:0}.projects-subnav .section-readout{white-space:normal;min-width:0;margin-left:0}.learn-subnav-actions{flex-wrap:wrap;flex:0 auto}.learn-subnav-actions .btn{flex:auto}}.rv-panel{padding-top:4px;flex-direction:column;flex:1 1 0;gap:10px;min-width:0;min-height:0;margin-inline:-3px;padding-inline:3px;display:flex;overflow-y:auto}.rv-week,.rv-week>.week-chart-wrap,.rv-balance,.rv-time{flex-direction:column;flex:auto;min-width:0;display:flex}.chart.chart-fill{flex:1 1 0}.rv-panel .section-readout{white-space:normal;text-align:right;min-width:0}.rv-week{padding:12px 0 0}.rv-time>.rv-breakdown{width:100%;max-width:860px}.rv-time>.rv-breakdown.rv-breakdown-multi{grid-template-columns:repeat(var(--cols), minmax(0, 1fr));column-gap:var(--s-6);max-width:none;display:grid}.rv-breakdown,.rv-month-chart,.rv-goal-chart,.rv-loops-chart,.rv-balance-chart{padding:4px 0}.rv-balance{position:relative}.rv-curve-readout{z-index:1;font-size:var(--t-mono);color:var(--accent);font-variant-numeric:tabular-nums;position:absolute;top:0;right:0}.rv-note{font-size:var(--fs-5);color:var(--muted);margin:0 0 4px}.rv-open-day{margin-top:var(--s-2);color:var(--accent);align-self:flex-start}.row-open{font:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;border:none;min-width:0;max-width:100%;margin:0;padding:0}.row-open:hover .tasks-title,.row-open:hover .rec-title{text-underline-offset:3px;text-decoration:underline}.row-open:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (width<=720px){.row-open{align-items:center;min-width:40px;min-height:40px;display:flex}}.boot{z-index:var(--z-banner);justify-content:center;align-items:center;gap:var(--s-4);padding:var(--s-5);background:var(--field);color:var(--ink);text-align:center;flex-direction:column;display:flex;position:fixed;inset:0}.boot-mark{font-size:var(--fs-15);letter-spacing:var(--track-label);font-weight:500}.boot-bars{gap:6px;display:flex}.boot-bar{background:var(--rule);width:28px;height:4px}.boot-error{max-width:40ch;font-size:var(--t-mono);color:var(--bad-text);margin:0}@media (prefers-reduced-motion:no-preference){.boot-bar{animation:1.2s ease-in-out infinite boot-pulse}.boot-bar:nth-child(2){animation-delay:.15s}.boot-bar:nth-child(3){animation-delay:.3s}}@keyframes boot-pulse{0%,to{background:var(--rule)}50%{background:var(--accent)}}.home-loading{padding:var(--s-4) var(--s-5)}.loops-view{flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.loops-view.is-list .field-host,.loops-view.is-list .legend{visibility:hidden}.loops-list-layer{z-index:calc(var(--z-chrome) - 1);background:var(--field);position:absolute;inset:0;overflow-y:auto}.loops-list{padding:0 var(--s-5) var(--s-5)}.loops-list-what{align-items:baseline;gap:var(--s-2);min-width:0;display:flex}.loops-list-title{white-space:nowrap;text-overflow:ellipsis;font-weight:500;overflow:hidden}.loops-list-subs{padding:0 0 0 var(--s-5);margin:0;list-style:none}.loops-list-subs li{border-left:var(--rule-w) solid var(--rule)}.loops-list-sub{align-items:center;gap:var(--s-2);width:100%;min-width:0;height:var(--row-list);padding:0 var(--s-2) 0 0;border:none;border-bottom:var(--rule-w) solid var(--rule);color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;display:flex}@media (hover:hover){.loops-list-sub:hover{background:var(--wash-hover)}}.loops-list-sub:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.loops-list-sub-mark{width:var(--s-3);height:var(--rule-w);background:var(--rule);flex:none}.loops-list-sub-title{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.loops-list-category{font-size:var(--t-label);white-space:nowrap;flex:none}.loops-list-kind,.loops-list-due,.loops-list-touched,.loops-list-status{font-size:var(--t-mono);color:var(--muted);white-space:nowrap}.loops-list-status.is-due{color:var(--accent)}.loops-list-status.is-late{color:var(--warn-text)}.loops-list-status.is-late.is-behind{color:var(--bad-text);font-weight:600}.loops-list-empty{margin:var(--s-5) 0;color:var(--muted);font-size:var(--fs-7)}.loops-list-status.is-done{color:var(--good-text)}.loops-list-weight{border:var(--rule-w) solid var(--rule);box-sizing:border-box;width:28px;height:12px;display:block}.loops-list-weight-fill{width:100%;height:100%;display:block}@media (width<=600px),(pointer:coarse) and (width<=900px){.loops-list{padding:0 var(--s-4) var(--s-4)}.loops-list .stable-cell:has(>[data-empty]){display:none}.loops-list .stable-cell[data-label=Kind]:before{content:none}.loops-list .stable-cell[data-label=Last\ touched]{text-align:left;flex-basis:100%;justify-self:start}}.journal{padding:var(--s-5) var(--s-5) var(--s-6);overflow-y:auto}.journal>*{flex-shrink:0}.journal-col{width:100%;max-width:calc(680px * var(--u));flex-direction:column;margin:0 auto;display:flex}.journal-head-row{justify-content:space-between;align-items:center;gap:var(--s-2);display:flex}.journal-when{min-width:0;position:relative}.journal-date{font-size:var(--fs-13);letter-spacing:-.01em;margin:0;font-weight:600;line-height:1.2}.journal-date-btn{align-items:center;gap:var(--s-2);max-width:100%;min-height:var(--ctl-lg);color:var(--ink);font:inherit;letter-spacing:inherit;white-space:nowrap;cursor:pointer;background:0 0;border:0;padding:0;display:inline-flex}.journal-date-btn>svg{color:var(--muted);flex:none}@media (hover:hover){.journal-date-btn:hover>svg{color:var(--ink)}}.journal-date-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.journal-date-short{display:none}.journal-head-tools{margin-right:calc(-1 * var(--s-2));flex:none;align-items:center;display:flex}.journal-week-row{align-items:center;gap:var(--s-3);display:flex}.journal-week{--dot-cell:36px;margin-left:calc((8px - var(--dot-cell)) / 2);display:flex}.journal-dot{width:var(--dot-cell);height:var(--row-edit);color:var(--muted);font:500 var(--fs-4) / 1 var(--font-ui);cursor:pointer;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:0;display:flex}.journal-dot-mark{box-sizing:border-box;border:1px solid var(--muted);border-radius:50%;flex:none;width:8px;height:8px;display:inline-block}.journal-dot.written .journal-dot-mark,.journal-cal-day.written .journal-dot-mark,.journal-dot-mark.filled{border-color:var(--mark,var(--ink));background:var(--mark,var(--ink))}.journal-dot.today .journal-dot-day{color:var(--accent);font-weight:700}.journal-dot.on .journal-dot-day{color:var(--ink);font-weight:700}.journal-dot.on .journal-dot-mark{outline:1.5px solid var(--ink);outline-offset:2px}.journal-dot:disabled{opacity:.35;cursor:default}@media (hover:hover){.journal-dot:hover:not(:disabled) .journal-dot-day{color:var(--ink)}}.journal-dot:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.journal-link{min-height:var(--ctl);color:var(--accent);font:500 var(--fs-6) var(--font-ui);cursor:pointer;background:0 0;border:0;align-items:center;padding:0;display:inline-flex}@media (hover:hover){.journal-link:hover{text-underline-offset:3px;text-decoration:underline}}.journal-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.journal-cal{top:calc(100% + var(--s-1));left:calc(-1 * var(--s-3));z-index:var(--z-modal);box-sizing:border-box;width:calc(300px * var(--u));padding:var(--s-2) var(--s-3) var(--s-3);box-shadow:2px 2px 0 0 var(--rule);position:absolute}.journal-cal-head{margin:0 calc(-1 * var(--s-2)) var(--s-1);justify-content:space-between;align-items:center;display:flex}.journal-cal-month{font-size:var(--fs-7);font-weight:600}.journal-cal-grid{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.journal-cal-letter{padding:var(--s-1) 0;color:var(--muted);font-size:var(--fs-3);text-align:center;font-weight:500}.journal-cal-day{height:var(--row-edit);color:var(--ink);font:500 var(--fs-6) / 1 var(--font-ui);font-variant-numeric:tabular-nums;cursor:pointer;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:0;display:flex}.journal-cal-day .journal-dot-mark{border-color:#0000;width:5px;height:5px}.journal-cal-day.today{color:var(--accent);font-weight:700}.journal-cal-day.on{background:var(--accent);color:var(--on-accent)}.journal-cal-day.on.written .journal-dot-mark{border-color:var(--on-accent);background:var(--on-accent)}.journal-cal-day:disabled{color:var(--muted);opacity:.45;cursor:default}@media (hover:hover){.journal-cal-day:hover:not(:disabled):not(.on){background:var(--wash-hover)}}.journal-cal-day:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.journal-cal-foot{align-items:center;gap:var(--s-3);margin-top:var(--s-2);padding-top:var(--s-2);border-top:var(--rule-w) solid var(--rule);color:var(--muted);font-size:var(--fs-5);display:flex}.journal-cal-foot .journal-link{margin-left:auto}.journal-cal-key{align-items:center;gap:6px;display:inline-flex}.journal-cal-key .journal-dot-mark:not(:first-child){margin-left:var(--s-2)}.journal-menu-cell{position:relative}.journal-menu{top:calc(100% + var(--s-1));right:var(--s-2);z-index:var(--z-modal);min-width:calc(200px * var(--u));padding:var(--s-1) 0;box-shadow:2px 2px 0 0 var(--rule);flex-direction:column;display:flex;position:absolute}.journal-menu-item{align-items:center;gap:var(--s-3);min-height:var(--row-item);padding:0 var(--s-3);color:var(--ink);font:var(--fs-7) var(--font-ui);text-align:left;white-space:nowrap;cursor:pointer;background:0 0;border:0;display:flex}.journal-menu-item>svg{color:var(--muted);flex:none}.journal-menu-item .key{color:var(--muted);margin-left:auto}@media (hover:hover){.journal-menu-item:hover{background:var(--wash-hover)}}.journal-menu-item:focus-visible{background:var(--wash-hover);outline:none}.journal-menu-clear{margin-top:var(--s-1);border-top:var(--rule-w) solid var(--rule);color:var(--muted)}@media (hover:hover){.journal-menu-clear:hover,.journal-menu-clear:hover>svg{color:var(--bad-text)}}.journal-search{align-items:center;gap:var(--s-2);box-sizing:border-box;height:var(--ctl-lg);margin-top:var(--s-3);border-bottom:var(--rule-w) solid var(--rule);color:var(--muted);display:flex}.journal-search:focus-within{border-bottom-color:var(--accent)}.journal-search input{width:0;min-width:0;color:var(--ink);font-size:var(--fs-9);background:0 0;border:0;flex:1;padding:0}.journal-search input:focus{outline:none}.journal-search .btn-icon{margin-right:calc(-1 * var(--s-2))}.journal-recovered{margin:var(--s-3) 0 0;color:var(--ink);font:12px var(--font-mono);align-items:center;gap:8px;display:flex}.journal-recovered-dot{background:var(--accent);flex:none;width:8px;height:8px}.journal-editor,.journal-read{margin-top:var(--s-5);flex-direction:column;display:flex}.journal-body::placeholder{color:var(--muted);opacity:.7}.journal-slot{top:calc(-1 * var(--s-5));z-index:1;min-height:var(--row-edit);margin:var(--s-1) 0 var(--s-2);background:var(--field);align-items:center;display:flex;position:sticky}.journal-start{align-items:center;column-gap:var(--s-4);color:var(--muted);font-size:var(--fs-6);flex-wrap:wrap;margin:0;display:flex}.journal-start-label{margin-right:calc(-1 * var(--s-2))}.journal-start-item{min-height:var(--ctl);color:var(--ink);font:500 var(--fs-6) var(--font-ui);cursor:pointer;text-decoration:underline;-webkit-text-decoration-color:var(--rule);text-decoration-color:var(--rule);text-underline-offset:4px;background:0 0;border:0;align-items:center;padding:0;text-decoration-thickness:1px;display:inline-flex}@media (hover:hover){.journal-start-item:hover{color:var(--accent)}}.journal-start-item:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.journal-toolbar{margin-left:calc(-1 * var(--s-2));visibility:hidden;opacity:0;align-items:center;transition:opacity .12s,visibility 0s linear .12s;display:flex}.journal-toolbar.on{visibility:visible;opacity:1;transition:opacity .12s}.journal-toolbar-gap{width:1px;height:16px;margin:0 var(--s-2);background:var(--rule)}.journal-body{box-sizing:border-box;width:100%;min-height:40vh;color:var(--ink);font-family:var(--font-ui);font-size:var(--fs-10);resize:none;background:0 0;border:0;padding:0;line-height:1.65;overflow:hidden}.journal-body:focus{outline:none}.journal-foot{align-items:center;gap:var(--s-3);margin:var(--s-4) 0 0;color:var(--muted);font:var(--fs-5) var(--font-mono);display:flex}.journal-foot .journal-link{margin-left:auto}.journal-foot-bad{color:var(--bad-text)}.journal-meta{grid-template-columns:calc(72px * var(--u)) 1fr;margin-top:var(--s-4);padding-top:var(--s-4);border-top:var(--rule-w) solid var(--rule);align-items:center;gap:12px 16px;display:grid}.journal-caption{color:var(--muted);font-size:var(--fs-4);font-variant:all-small-caps;letter-spacing:var(--track-label)}.journal-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.journal-row .opt[role=radio]{width:var(--ctl);font-family:var(--font-mono);padding:0}.journal-mood-word{color:var(--muted);font:12px var(--font-mono)}.journal .hue-picker{gap:8px}.journal .hue-swatch{width:24px;height:24px}.journal .hue-swatch.on{outline:1px solid var(--ink);outline-offset:2px}.journal .hue-swatch:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.journal-prose{font-size:var(--fs-8);line-height:1.7}.journal-p{margin:0 0 var(--s-3)}.journal-h2{margin:var(--s-4) 0 var(--s-2);font-size:var(--fs-11);font-weight:500}.journal-h3{margin:var(--s-3) 0 var(--s-1);font-size:var(--fs-9);font-weight:500}.journal-list{margin:0 0 var(--s-3);padding-left:var(--s-4)}.journal-list li{margin-bottom:var(--s-1)}.journal-quote{margin:0 0 var(--s-3);border-left:2px solid var(--rule);padding-left:var(--s-3);color:var(--muted)}.journal-rule{margin:var(--s-4) 0;border:0;border-top:.5px solid var(--rule)}.journal-code{font-family:var(--font-mono);font-size:.9em}.journal-codeblock{margin:0 0 var(--s-3);min-width:0;max-width:100%;position:relative}.journal-code-lang{top:var(--s-1);right:var(--s-2);font-family:var(--font-mono);font-size:var(--fs-3);color:color-mix(in srgb, var(--ink) 60%, transparent);pointer-events:none;line-height:1;position:absolute}.journal-codeblock:has(.journal-code-lang) .journal-pre{padding-top:var(--s-4)}.journal-pre{padding:var(--s-2) var(--s-3);background:var(--wash-hover);font-family:var(--font-mono);white-space:pre;tab-size:2;margin:0;font-size:.9em;line-height:1.5;overflow-x:auto}.journal-read .journal-prose{font-size:var(--fs-10);line-height:1.65}.journal-empty{margin:var(--s-4) 0 0;color:var(--muted);font-size:var(--fs-7)}.journal-results{margin-top:var(--s-4);flex-direction:column;display:flex}.journal-results-count{margin:0 0 var(--s-2);color:var(--muted);font:12px var(--font-mono)}.journal-result{grid-template-columns:calc(120px * var(--u)) 1fr auto;border:0;border-bottom:var(--rule-w) solid var(--rule);height:auto;padding:var(--s-3) 0;color:var(--ink);text-align:left;cursor:pointer;background:0 0;align-items:baseline;gap:12px;display:grid}@media (hover:hover){.journal-result:hover{background:var(--wash-hover)}}.journal-result:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.journal-result-day{color:var(--muted);font-size:var(--fs-5);font-variant-numeric:tabular-nums}.journal-result-text{font-size:var(--fs-7);line-height:1.5}.journal-result-meta{color:var(--muted);font:12px var(--font-mono)}.journal-print{display:none}@media print{body *{visibility:hidden}.journal-print,.journal-print *{visibility:visible}.journal-print{color:#000;background:#fff;width:100%;font-size:11pt;line-height:1.6;display:block;position:absolute;top:0;left:0}.journal-print-serif{font-family:var(--font-serif)}.journal-print-sans{font-family:var(--font-ui)}.journal-print-mono{font-family:var(--font-mono);font-size:10pt}.journal-print-head{border-bottom:1px solid #000;justify-content:space-between;align-items:baseline;margin-bottom:12pt;padding-bottom:4pt;display:flex}.journal-print-head h1{margin:0;font-size:15pt;font-weight:600}.journal-print-head span{font-size:9pt}.journal-print-prompt{margin:0 0 10pt;font-style:italic}.journal-print .journal-h2,.journal-print .journal-h3{break-after:avoid}.journal-print .journal-pre{white-space:pre-wrap;overflow-wrap:anywhere;overflow:visible}.journal-print .journal-quote{color:#000;border-left:2px solid #000}@page{margin:18mm}}@media (width<=720px){.journal-result{row-gap:var(--s-1);grid-template-columns:minmax(0,1fr) auto}.journal-result-text{grid-area:2/1/auto/-1}}@media (width<=600px),(pointer:coarse) and (width<=900px){.journal{padding:var(--s-3) var(--s-4) var(--s-5)}.journal-date{font-size:var(--fs-12)}.journal-date-long{display:none}.journal-date-short{display:inline}.journal-head-tools{margin-right:calc(-1 * var(--s-3))}.journal-week{--dot-cell:40px}.journal-dot{height:var(--ctl-lg)}.journal-link,.journal-start-item{min-height:var(--row-edit)}.journal-editor,.journal-read{margin-top:var(--s-4)}.journal-slot{top:calc(-1 * var(--s-3));min-height:var(--ctl-lg)}.journal-slot.idle{min-height:0;margin-bottom:var(--s-3)}.journal-slot.idle .journal-toolbar{display:none}.journal-start-label{margin:var(--s-1) 0 0;font-size:var(--fs-4);font-variant:all-small-caps;letter-spacing:var(--track-label);flex-basis:100%}.journal-toolbar{margin-left:calc(-1 * var(--s-3))}.journal-toolbar-gap{display:none}.journal-body{min-height:45vh}.journal-menu-item{min-height:var(--ctl-lg)}.journal-cal{width:min(calc(100vw - 2 * var(--s-4)), 340px);left:0}.journal-cal-day{height:var(--ctl-lg)}.journal-row .opt[role=radio]{width:var(--ctl-lg)}.journal-meta{grid-template-columns:1fr;gap:4px}.journal-meta .journal-row{margin-bottom:8px}}.fit-page{padding:var(--s-5);min-height:0;overflow-y:auto}.fit-empty{height:32px;color:var(--muted);font-size:var(--t-mono);align-items:center;margin:0;display:flex}.fit-block-foot{padding-top:var(--s-4);color:var(--muted);font-size:var(--fs-4);margin:0}.fit-field{gap:var(--s-2);flex-direction:column;min-width:0;display:flex}.fit-field-label{font-size:var(--fs-4);font-variant:all-small-caps;letter-spacing:var(--track-label);color:var(--muted);white-space:nowrap}.fit-field-box{box-sizing:border-box;height:var(--ctl);border:var(--rule-w) solid var(--rule);color:var(--ink);font-size:var(--fs-7);align-items:center;display:flex;position:relative}.fit-field-box:focus-within{border-color:var(--accent)}.fit-field-box input,.fit-field-box select{width:100%;min-width:0;height:100%;padding:0 var(--s-2);font:inherit;color:inherit;background:0 0;border:none;flex:1}.fit-field-box input:focus,.fit-field-box select:focus{outline:none}.fit-field-box:has(.fit-field-unit) input{padding-right:36px}.fit-field-box.is-select select{appearance:none;cursor:pointer;padding-right:24px}.fit-field-box>svg{right:var(--s-2);pointer-events:none;color:var(--muted);position:absolute}.fit-field-unit{right:var(--s-2);font-size:var(--t-mono);color:var(--muted);pointer-events:none;position:absolute}.fit-field-sm{flex:0 0 calc(96px * var(--u));width:calc(96px * var(--u))}.fit-field-wide{min-width:calc(200px * var(--u));flex:1}.fit-open-fields,.fit-add-set,.fit-add-reading,.fit-add-exercise{align-items:flex-end;gap:var(--s-3);padding:var(--s-4) 0;border-top:var(--rule-w) solid var(--rule);flex-wrap:wrap;display:flex}.fit-page>.fit-add-reading:first-child,.fit-page>.fit-add-exercise:first-child{border-top:none;padding-top:0}.fit-kind{gap:var(--s-2);display:flex}.fit-field{position:relative}.fit-field-hint{margin-top:var(--s-1);color:var(--muted);font-size:var(--t-mono);white-space:nowrap;position:absolute;top:100%;left:0}.fit-add-set{padding-bottom:var(--s-6)}.fit-reading-today{height:var(--ctl);color:var(--ink);font-size:var(--t-mono);align-self:flex-end;align-items:center;display:flex}.fit-open{max-width:560px}.fit-open-line{margin:0 0 var(--s-3);font-size:var(--fs-7);color:var(--muted)}.fit-open-foot{color:var(--muted);font-size:var(--fs-4);margin:0}.fit-session-head{align-items:center;gap:var(--s-3);height:40px;display:flex}.fit-session-title{font-size:var(--fs-9);margin:0;font-weight:600;line-height:1.25}.fit-session-rule{height:var(--rule-w);background:var(--rule);flex:1}.fit-session-totals{color:var(--muted);font-size:var(--t-mono);white-space:nowrap;margin:0}.fit-page .fit-discard.btn-quiet:not(.on):hover:not(:disabled){color:var(--bad-text)}.fit-sets{min-width:0;margin-top:var(--s-3);flex-direction:column;display:flex}.fit-sets-head,.fit-set{grid-template-columns:minmax(0, 1fr) calc(160px * var(--u)) calc(96px * var(--u)) 32px;align-items:center;gap:var(--s-2);min-width:0;display:grid}.fit-sets-nested .fit-sets-head,.fit-sets-nested .fit-set{grid-template-columns:minmax(0, 1fr) calc(160px * var(--u)) calc(96px * var(--u))}.fit-sets-head{border-bottom:var(--rule-w) solid var(--rule);height:24px;font-size:var(--fs-4);font-variant:all-small-caps;letter-spacing:var(--track-label);color:var(--muted)}.fit-sets-head>:nth-child(3),.fit-set-volume{text-align:right}.fit-set{height:var(--row-list);border-bottom:var(--rule-w) solid var(--rule)}.fit-set-exercise{font-size:var(--fs-7);text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.fit-set-line{font-size:var(--t-mono)}.fit-set-volume{font-size:var(--t-mono);color:var(--muted)}.fit-remove{opacity:0;justify-self:center}.fit-set:hover .fit-remove,.fit-set:focus-within .fit-remove,.fit-reading:hover .fit-remove,.fit-reading:focus-within .fit-remove,.fit-library .stable-row:hover .fit-remove,.fit-library .stable-row:focus-within .fit-remove{opacity:1}@media (hover:none){.fit-remove{opacity:1}}.fit-add-set{margin-top:var(--s-4)}.fit-session-length{align-items:center;gap:var(--s-3);padding:var(--s-4) 0;display:flex}.fit-session-length .fit-field-box{width:calc(72px * var(--u))}.fit-history-list{margin:0;padding:0;list-style:none}.fit-history-row{border-bottom:var(--rule-w) solid var(--rule)}.fit-history-head{grid-template-columns:12px calc(96px * var(--u)) minmax(0, 1fr) auto;align-items:center;gap:var(--s-3);width:100%;height:40px;font:inherit;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:none;padding:0;display:grid}@media (hover:hover){.fit-history-head:hover{background:var(--wash-hover)}}.fit-history-head:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.fit-history-day{font-size:var(--t-mono);white-space:nowrap}.fit-history-title{font-size:var(--fs-7);font-weight:500}.fit-history-today{margin-right:var(--s-2);font-size:var(--t-mono);color:var(--muted);font-weight:400}.fit-history-totals{color:var(--muted);font-size:var(--t-mono);white-space:nowrap}.fit-sets-nested{padding:0 0 var(--s-3) 120px}.fit-sets-nested .fit-sets{margin-top:0}.fit-library .stable{margin-top:var(--s-4)}:is(.stable-cell:has(>.fit-library-name),.stable-cell:has(>.fit-library-name-field)){overflow:visible}.fit-library-name,.fit-library-name-field{width:calc(100% + var(--s-4));margin:0 calc(-1 * var(--s-2))}.fit-library-name{padding:0 var(--s-2);cursor:text;justify-content:flex-start}.fit-page .fit-library-name.btn-quiet:not(.on){color:var(--ink)}.fit-page .fit-library-name.btn-quiet:not(.on):hover:not(:disabled){border-color:var(--rule)}.fit-library-name-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.fit-library-name-field{box-sizing:border-box;height:var(--ctl);padding:0 var(--s-2);border:var(--rule-w) solid var(--rule);font:inherit;font-size:var(--fs-7);color:var(--ink);background:0 0;outline:none}.fit-library-name-field:focus{border-color:var(--accent)}.fit-library-kind,.fit-library-last,.fit-library-best{color:var(--muted);font-size:var(--t-mono)}.fit-library-best{color:var(--ink)}.fit-chart-caption{margin-top:var(--s-4)}.fit-weight-chart,.fit-fat-chart{margin:0 0 var(--s-4)}.fit-readings{margin:0;padding:0;list-style:none}.fit-readings-head,.fit-reading{grid-template-columns:calc(96px * var(--u)) calc(80px * var(--u)) calc(64px * var(--u)) minmax(0, 1fr) 32px;align-items:center;gap:var(--s-2);display:grid}.fit-readings-head{border-bottom:var(--rule-w) solid var(--rule);height:24px;font-size:var(--fs-4);font-variant:all-small-caps;letter-spacing:var(--track-label);color:var(--muted)}.fit-reading{height:var(--row-list);border-bottom:var(--rule-w) solid var(--rule)}.fit-reading-day{color:var(--muted);font-size:var(--t-mono)}.fit-reading-weight{font-size:var(--t-mono)}.fit-reading-fat{color:var(--muted);font-size:var(--t-mono)}.fit-reading-note{color:var(--muted);font-size:var(--fs-6)}@media (width<=600px),(pointer:coarse) and (width<=900px){.fit-page{padding:var(--s-4) var(--s-4) var(--s-5)}.fit-open-fields,.fit-add-set,.fit-add-exercise,.fit-add-reading{flex-direction:column;align-items:stretch}.fit-field-wide,.fit-field-sm{flex:none;width:auto;min-width:0}.fit-reading-today{align-self:stretch}.fit-field-hint{position:static}.fit-add-set{padding-bottom:var(--s-4)}.fit-remove{opacity:1}.fit-sets-head,.fit-set{grid-template-columns:minmax(0, 1fr) auto var(--ctl-lg);height:var(--row-touch)}.fit-sets-nested{padding-left:var(--s-4)}.fit-sets-nested .fit-sets-head,.fit-sets-nested .fit-set{grid-template-columns:minmax(0,1fr) auto}.fit-sets-head>:nth-child(3),.fit-set-volume{display:none}.fit-history-head{row-gap:var(--s-1);height:auto;min-height:var(--row-touch);padding:var(--s-2) 0;grid-template-columns:12px auto minmax(0,1fr)}.fit-history-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.fit-history-totals{text-overflow:ellipsis;grid-column:2/-1;min-width:0;overflow:hidden}.fit-readings-head,.fit-reading{grid-template-columns:1fr calc(96px * var(--u)) calc(72px * var(--u)) var(--ctl-lg)}.fit-reading{height:auto;min-height:var(--row-touch)}.fit-readings-head>:nth-child(4){display:none}.fit-reading-note{padding-bottom:var(--s-2);grid-area:2/1/auto/-1}.fit-reading-note:empty{display:none}.fit-reading .fit-remove{grid-area:1/4}.fit-session-head{row-gap:var(--s-2);height:auto;padding-bottom:var(--s-2);flex-wrap:wrap}.fit-discard{margin-left:auto}}.idea-list{margin:0;padding:0;list-style:none}.idea-row{align-items:baseline;column-gap:var(--s-3);row-gap:var(--s-2);min-height:var(--row-item);padding:var(--s-3) 0;border-bottom:var(--rule-w) solid var(--rule);grid-template-columns:minmax(0,1fr) auto;display:grid}.idea-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:500;overflow:hidden}.idea-meta{font-size:var(--fs-5);white-space:nowrap}.idea-note,.idea-actions,.idea-form,.idea-error{grid-column:1/-1}.idea-note{font-size:var(--fs-6);white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.idea-error{margin:0}.idea-actions{gap:var(--s-2);flex-wrap:wrap;display:flex}.idea-act-short{display:none}.idea-form{gap:var(--s-2);flex-direction:column;display:flex}.idea-textarea{box-sizing:border-box;width:100%;padding:var(--s-2) var(--s-3);border:var(--rule-w) solid var(--rule);color:var(--ink);font:inherit;font-size:var(--fs-7);resize:vertical;background:0 0}.idea-textarea:focus{border-color:var(--accent);outline:none}.idea-add{gap:var(--s-2);grid-template-columns:minmax(0,1fr) auto;align-items:center;display:grid}@media (width<=720px){.idea-add .settings-field,.idea-form .settings-field{height:var(--ctl-lg)}.idea-actions{gap:var(--s-1)}.idea-act-long{display:none}.idea-act-short{display:inline}}.idea-note-field{flex:1;min-width:0}.fin-sweep{max-width:min(420px,92vw);padding:var(--s-4)}.fin-sweep p{margin:0 0 var(--s-3);font-size:var(--fs-5)}.fin-sweep-actions{align-items:center;gap:var(--s-2);min-height:var(--row-edit);flex-wrap:wrap;display:flex}.fin-txn-delete{color:var(--muted)}.fin-page .fin-txn-delete:hover:not(:disabled){color:var(--bad-text)}@media (hover:hover){.fin-txn-row .fin-txn-delete{opacity:0}.fin-txn-row:hover .fin-txn-delete,.fin-txn-delete:focus-visible{opacity:1}}.fin-dup-note{align-items:center;gap:var(--s-2);min-height:var(--row-edit);margin-bottom:var(--s-2);padding:0 var(--s-3);border:var(--rule-w) solid var(--rule);font-size:var(--fs-5);color:var(--ink);display:flex}.fin-dup-note .btn{margin-left:auto}.fin-dup-review{width:min(720px,94vw);max-height:calc(100% - 2 * var(--s-4));padding:var(--s-4)}.fin-dup-title{font-size:var(--fs-7);margin:0;font-weight:500}.fin-dup-help{font-size:var(--fs-5);color:var(--muted);margin:0}.fin-dup-list{border-top:var(--rule-w) solid var(--rule);flex-direction:column;min-height:0;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.fin-dup-row{align-items:start;gap:var(--s-3);padding:var(--s-2) 0;border-bottom:var(--rule-w) solid var(--rule);grid-template-columns:180px minmax(0,1fr) minmax(0,1fr);display:grid}.fin-dup-pick{align-items:flex-start;gap:var(--s-2);cursor:pointer;display:flex}.fin-dup-pick input{margin:3px 0 0}.fin-dup-figure{flex-direction:column;gap:2px;display:flex}.fin-dup-amount{font-size:var(--fs-6)}.fin-dup-account,.fin-dup-meta{font-size:var(--fs-3);color:var(--muted)}.fin-dup-side{flex-direction:column;gap:2px;min-width:0;display:flex}.fin-dup-verb{font-size:var(--fs-3);font-variant:all-small-caps;letter-spacing:var(--track-label);color:var(--muted)}.fin-dup-row:has(.fin-dup-pick input:checked) .fin-dup-side.is-copy .fin-dup-desc{color:var(--muted);text-decoration:line-through}.fin-dup-desc{text-overflow:ellipsis;white-space:nowrap;font-size:var(--fs-6);overflow:hidden}@media (width<=720px){.fin-dup-row{grid-template-columns:1fr 1fr}.fin-dup-pick{grid-column:1/-1}}.settings-list{flex-direction:column;display:flex}.journal-template textarea{box-sizing:border-box;border:var(--rule-w) solid var(--rule);width:100%;color:var(--ink);font:inherit;font-size:var(--fs-6);resize:vertical;background:0 0;padding:8px 12px}.journal-template textarea:focus{border-color:var(--accent);outline:none}.learn-page{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.learn-subnav{justify-content:space-between}.learn-subnav-actions{align-items:center;gap:var(--s-2);flex:none;margin-left:auto;display:flex}.learn-subnav-actions .btn{gap:var(--s-1);text-decoration:none}.learn-filters{align-items:center;gap:var(--s-2);min-height:40px;padding:0 var(--s-5);border-bottom:var(--rule-w) solid var(--rule);flex:none;display:flex}.learn-filters-word{font-size:var(--t-mono);color:var(--muted)}.learn-chips{align-items:center;gap:var(--s-2);min-width:0;display:flex;overflow-x:auto}.learn-chip-count{font-size:var(--fs-4);opacity:.7}.learn-page .opt,.learn-dialog .opt{font-size:var(--fs-7)}.learn-readout{font-size:var(--t-mono);color:var(--muted);white-space:nowrap}@media (width<=640px){.learn-filters-word,.learn-readout{display:none}}.learn-dialog-input,.learn-dialog-select{width:100%;height:var(--ctl);box-sizing:border-box}.learn-dialog-input{padding:0 var(--s-3);border:var(--rule-w) solid var(--rule);color:var(--ink);font:inherit;font-size:var(--fs-7);background:0 0}.learn-dialog-input:focus{border-color:var(--accent);outline:none}.learn-dialog-input:disabled{color:var(--muted)}.new-loop textarea.learn-dialog-notes{min-height:calc(96px * var(--u));color:var(--ink);background:0 0;overflow:auto}.new-loop textarea.learn-dialog-notes:focus{border-color:var(--accent);outline:none}@media (width<=600px){.learn-dialog .new-loop-columns{grid-template-columns:1fr}.learn-dialog .new-loop-columns>*{grid-area:auto}}@media (width<=720px){.learn-dialog .new-loop-caption{flex-wrap:nowrap}.learn-dialog .new-loop-caption-hint{white-space:nowrap;flex:0 auto;min-width:0}.learn-dialog .chips{grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;display:grid}.learn-dialog .chips>.opt{min-width:0;padding:0 var(--s-1)}}.learn-page .learn-panel{max-width:calc(var(--page-col) * 1.35)}.learn-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.learn-item{border-bottom:var(--rule-w) solid var(--rule)}.learn-row,.learn-link{align-items:center;gap:var(--s-3);min-height:var(--row-item);padding:var(--s-2) 0;grid-template-columns:minmax(0,1fr) auto auto;display:grid}.learn-link{color:inherit;grid-template-columns:minmax(0,1fr);grid-auto-columns:auto;grid-auto-flow:column;text-decoration:none}.learn-link:hover .learn-name,.learn-row .learn-link-text:hover .learn-name{color:var(--accent)}.learn-link-text{min-width:0;color:inherit;flex-direction:column;gap:2px;text-decoration:none;display:flex}.learn-name{min-width:0;font-size:var(--fs-7);color:var(--ink);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.learn-preview{min-width:0;font-size:var(--fs-5);color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.learn-when{font-size:var(--fs-5);color:var(--muted);white-space:nowrap;text-align:right}.learn-when.is-due{color:var(--accent)}.learn-actions{justify-content:flex-end;align-items:center;gap:var(--s-1);display:flex}.learn-grades{align-items:center;gap:var(--s-1);display:inline-flex}.learn-page .learn-delete:hover:not(:disabled),.learn-topic-page .learn-delete:hover:not(:disabled),.learn-source-page .learn-delete:hover:not(:disabled){color:var(--bad-text)}.learn-delete-confirm{color:var(--bad-text);border-color:var(--bad-text)}.learn-source-page .project-page-actions>.btn-quiet:first-child{margin-left:calc(-1 * var(--s-3) - var(--rule-w))}@media (width<=720px){.learn-row{row-gap:var(--s-1);grid-template-columns:auto 1fr;grid-template-areas:"title title""when actions"}.learn-row>.learn-link-text{grid-area:title}.learn-row>.learn-when{text-align:left;grid-area:when}.learn-row>.learn-actions{flex-wrap:wrap;grid-area:actions}.learn-row:has(.learn-grades){grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"title when""actions actions"}:is(.learn-row:has(.learn-grades)>.learn-link-text,.learn-row:has(.learn-grades)>.learn-when){align-self:baseline}.learn-row:has(.learn-grades)>.learn-when{text-align:right}.learn-row:has(.learn-grades)>.learn-actions{flex-wrap:nowrap}.learn-grades{flex:1;grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.learn-link{align-items:baseline;column-gap:var(--s-3);row-gap:var(--s-1);flex-wrap:wrap;display:flex}.learn-link>.learn-link-text{flex:100%}}.learn-topic-title{box-sizing:border-box;resize:none;overflow-wrap:anywhere;width:100%;padding:var(--s-1) 0;border:none;border-bottom:var(--rule-w) solid transparent;color:var(--ink);line-height:1.3;font:inherit;font-size:var(--fs-13);background:0 0;font-weight:500;display:block;overflow:hidden}.learn-topic-title:hover{border-bottom-color:var(--rule)}.learn-topic-title:focus{border-bottom-color:var(--accent);outline:none}@media (width<=900px){.learn-topic-page .project-page-side,.learn-source-page .project-page-side{order:0}}.learn-topic-glance{margin:calc(-1 * var(--s-3)) 0 0;font-size:var(--fs-6);color:var(--muted);overflow-wrap:anywhere}.learn-notes{min-height:calc(320px * var(--u));line-height:1.55}@media (width<=720px){.learn-notes{min-height:calc(160px * var(--u));font-size:var(--fs-9)}}.learn-retry{margin-top:var(--s-2);align-self:flex-start}.learn-conflict{margin-bottom:var(--s-2);padding:var(--s-2) var(--s-3);border:var(--rule-w) solid var(--bad-text);font-size:var(--fs-6)}.learn-conflict p{margin:0 0 var(--s-2)}.learn-conflict-theirs{max-height:160px;margin:0 0 var(--s-2);padding:var(--s-2);background:var(--surface-2);font:inherit;font-size:var(--fs-5);white-space:pre-wrap;overflow:auto}.learn-conflict-actions{gap:var(--s-2);display:flex}.learn-row-text{text-overflow:ellipsis;white-space:nowrap;font-size:var(--fs-6);overflow:hidden}.learn-review-wait{align-items:center;gap:var(--s-3);margin:0;display:flex}.learn-review-wait .mono{font-size:var(--fs-6)}.learn-review-note{box-sizing:border-box;width:100%;height:var(--ctl);margin-top:var(--s-2);padding:0 var(--s-2);border:var(--rule-w) solid var(--rule);color:var(--ink);font:inherit;font-size:var(--fs-6);background:0 0}.learn-review-note:focus{border-color:var(--accent);outline:none}.learn-grade-row{gap:var(--s-2);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.learn-card .learn-grade-row{bottom:calc(-1 * var(--s-6));z-index:1;padding:var(--s-2) 0;background:var(--field);position:sticky}.project-page-fields input.learn-interval-field{flex:0 0 calc(56px * var(--u))}.learn-history-empty{font-size:var(--fs-6);margin:0}.learn-history{margin:0;padding:0;list-style:none}.learn-history-row{grid-template-columns:calc(110px * var(--u)) calc(56px * var(--u)) auto minmax(0, 1fr);align-items:baseline;gap:var(--s-3);padding:var(--s-2) 0;border-bottom:var(--rule-w) solid var(--rule);font-size:var(--fs-5);display:grid}.learn-history-note{font-size:var(--fs-6);color:var(--ink)}.learn-sessions-head{justify-content:space-between;align-items:center;gap:var(--s-3);margin-bottom:var(--s-3);display:flex}.learn-sessions-figures{gap:var(--s-5);margin:0;display:flex}.learn-sessions-figures dt{font-size:var(--fs-6)}.learn-sessions-figures dd{font-size:var(--fs-3);margin:0}.learn-session-row{grid-template-columns:calc(110px * var(--u)) calc(72px * var(--u)) minmax(0, 1fr);align-items:baseline;gap:var(--s-3);padding:var(--s-2) 0;border-bottom:var(--rule-w) solid var(--rule);font-size:var(--fs-5);display:grid}.learn-grade-tag.grade-again{color:var(--bad-text)}.learn-grade-tag.grade-easy,.learn-grade-tag.grade-good{color:var(--accent)}.learn-source-actions{gap:var(--s-2);margin-bottom:var(--s-4);flex-wrap:wrap;display:flex}.learn-source-actions .btn{gap:var(--s-1);text-decoration:none}.learn-file{align-items:center;gap:var(--s-3);min-height:var(--row-item);padding:var(--s-2) 0;grid-template-columns:minmax(0,1fr) auto;display:grid}.learn-file .btn{text-decoration:none}.learn-files.is-over{outline:1px dashed var(--accent);outline-offset:var(--s-2)}.learn-drop{align-items:center;gap:var(--s-3);margin-top:var(--s-3);display:flex}.learn-drop .btn{gap:var(--s-1)}.learn-drop-hint,.learn-uploading{font-size:var(--t-mono);color:var(--muted)}.learn-uploading{margin:var(--s-2) 0 0}.learn-group{margin-bottom:var(--s-4)}.learn-group-head{padding-bottom:var(--s-1);border-bottom:var(--rule-w) solid var(--rule);font-size:var(--fs-4);text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:0;font-weight:400}details.learn-group>summary{cursor:pointer}.learn-review-body{min-height:0;padding:var(--s-6) var(--s-5);flex:1;overflow-y:auto}.learn-card,.learn-review-end{max-width:calc(680px * var(--u));gap:var(--s-4);flex-direction:column;margin:0 auto;display:flex}.learn-card-meta{font-size:var(--fs-5);color:var(--muted);margin:0}.learn-review-title{font-size:var(--fs-14);color:var(--ink);margin:0;font-weight:500;line-height:1.25}.learn-card-prompt{align-items:flex-start;gap:var(--s-3);padding:var(--s-5) 0;border-top:var(--rule-w) solid var(--rule);flex-direction:column;display:flex}.learn-card-prompt p{margin:0}.learn-card-notes{padding:var(--s-4) 0;border-top:var(--rule-w) solid var(--rule);border-bottom:var(--rule-w) solid var(--rule)}.learn-card-notes p{margin:0}.learn-card-note{font-size:var(--fs-7);white-space:pre-wrap;line-height:1.6}.learn-card-foot{justify-content:space-between;gap:var(--s-2);display:flex}.learn-card-foot .btn{gap:var(--s-1)}@media (width<=640px){.learn-grade-row{grid-template-columns:repeat(2,minmax(0,1fr))}.learn-history-row{grid-template-columns:auto auto 1fr}.learn-history-note{grid-column:1/-1}.learn-session-row{grid-template-columns:auto 1fr}.learn-session-row .learn-history-note{grid-column:1/-1}.learn-sessions-head{flex-wrap:wrap}}.project-page{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.project-page-subnav{align-items:baseline;gap:var(--s-2);height:var(--row-edit);padding:0 var(--s-5) 0 var(--s-3);border-bottom:var(--rule-w) solid var(--rule);flex:none;min-width:0;display:flex}.project-page-subnav>.btn-icon,.project-page-subnav>.project-page-hue{flex:none;align-self:center}.project-page-hue{flex:none;width:3px;height:18px;display:block}.project-page-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:var(--t-title);font-weight:500;line-height:var(--row-edit);color:var(--ink);margin:0;overflow:hidden}.project-page-sub{font-size:var(--fs-6);color:var(--muted);flex:none}.project-page-error{margin:var(--s-2) var(--s-5) 0;font-size:var(--fs-6);color:var(--bad-text)}.project-page-body{scrollbar-width:thin;scrollbar-color:var(--rule) transparent;grid-template-columns:minmax(0, 1fr) calc(300px * var(--u));align-items:start;gap:var(--s-6);min-height:0;padding:var(--s-5);box-sizing:border-box;max-width:calc(var(--page-col) + 300px * var(--u) + 32px);flex:1;width:100%;display:grid;overflow-y:auto}.project-page-main,.project-page-side{gap:var(--s-5);flex-direction:column;min-width:0;display:flex}.project-page-description{min-height:64px}.project-page-actions{gap:var(--s-2);margin-top:var(--s-2);flex-wrap:wrap;display:flex}.project-page-fields{border-top:var(--rule-w) solid var(--rule);flex-direction:column;display:flex}.project-page-fields .row-head{min-height:var(--ctl);border-bottom:var(--rule-w) solid var(--rule);font-size:var(--fs-7);align-items:center;gap:10px;display:flex}.project-page-fields .row-label{width:calc(74px * var(--u));color:var(--muted);flex:none}.project-page-fields .row-value,.project-page-fields .datefield{flex:1;min-width:0}.project-page-fields input.row-value{height:var(--ctl-sm);border:none;border-bottom:var(--rule-w) solid var(--rule);color:var(--ink);font:inherit;background:0 0;padding:0}.project-page-fields input.row-value:focus-visible{outline:1px solid var(--accent);outline-offset:1px}:is(.learn-topic-page,.learn-source-page) .project-page-fields input.row-value{border-bottom:none;align-self:stretch;height:auto}@media (hover:hover){:is(.learn-topic-page,.learn-source-page) .project-page-fields input.row-value:hover:not(:disabled,:focus){background:var(--wash-hover)}}.project-page-fields .datefield-hint,.project-page .project-dimension-line,.project-page .project-dimension-note{font-size:var(--fs-5)}.project-page .project-dimension-line{column-gap:var(--s-3);flex-wrap:wrap}.project-page .project-dimension-line .accent{white-space:nowrap}a.btn{text-decoration:none}.project-note-filters .opt{flex:none}.project-note-composer{gap:var(--s-2);flex-direction:column;display:flex}.project-note-composer-foot{justify-content:space-between;align-items:center;gap:var(--s-2);flex-wrap:wrap;display:flex}.project-note-filters{flex-wrap:wrap}.project-note-undo{align-items:center;gap:var(--s-1);font-size:var(--fs-5);color:var(--muted);margin:0;display:flex}.project-note-empty{font-size:var(--fs-6);margin:0}.project-timeline{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.project-line{padding:var(--s-2) 0 var(--s-2) var(--s-3);border-bottom:var(--rule-w) solid var(--rule);border-left:var(--rule-active) solid transparent;flex-direction:column;gap:2px;display:flex}.project-line.is-pinned{border-left-color:var(--ink)}.learn-session-notes .project-line{border-left:none;padding-left:0}.project-line.is-session{color:var(--muted)}.project-line-head{align-items:center;gap:var(--s-2);min-height:var(--ctl-sm);display:flex}.project-line-head .notes-when{text-align:left}.project-line-agent{font-size:var(--fs-4);font-variant:all-small-caps;letter-spacing:var(--track-label);color:var(--accent)}.project-line-hours{font-size:var(--fs-5);color:var(--ink)}.project-line-actions{opacity:.35;gap:2px;margin-left:auto;display:flex}.project-line:hover .project-line-actions,.project-line:focus-within .project-line-actions{opacity:1}.project-line-body{font-size:var(--fs-7);color:var(--ink);white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.project-line.is-session .project-line-body{color:var(--muted)}.project-line-edit{gap:var(--s-2);flex-direction:column;display:flex}.notes-kind.kind-decision{color:var(--ink)}.project-chart{padding:4px 0}.project-weeks-grain{gap:var(--s-1);margin-bottom:var(--s-2);display:flex}.project-task-due{padding-left:var(--s-2);font-size:var(--fs-5);color:var(--muted);white-space:nowrap;flex:none;margin-left:auto}.detail-open-project{align-self:flex-start}@media (width<=900px){.project-page-body{padding:var(--s-4);grid-template-columns:minmax(0,1fr)}.project-page-side{order:-1}.project-page-title.is-whole{padding-block:var(--s-2);line-height:inherit;white-space:normal;overflow-wrap:anywhere;flex:1 1 0}.project-page-title.is-whole~.project-page-sub{box-sizing:border-box;padding:0 0 var(--s-2) calc(var(--ctl-lg) + var(--s-2));flex-basis:100%}.project-line-actions{opacity:1}}.notes-page{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.notes-count{margin-left:var(--s-2);font-size:var(--fs-4);color:var(--muted)}.subnav-tab.active .notes-count{color:inherit}.notes-error{color:var(--bad-text)}.notes-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.notes-row{grid-template-columns:calc(52px * var(--u)) calc(72px * var(--u)) minmax(0, 1fr) auto calc(96px * var(--u)) var(--ctl);align-items:center;gap:var(--s-2);width:100%;height:calc(var(--row-list) + 4px);border:none;border-bottom:var(--rule-w) solid var(--rule);color:var(--ink);font:inherit;font-size:var(--fs-7);text-align:left;cursor:pointer;background:0 0;padding:0;display:grid}.notes-row:hover{background:color-mix(in srgb, var(--ink) 6%, transparent)}.notes-row:focus-visible{outline:1px solid var(--accent);outline-offset:-1px}.notes-row>:last-child{color:var(--muted);justify-self:center}.notes-number{font-size:var(--fs-5);color:var(--muted)}.notes-kind{font-size:var(--fs-4);font-variant:all-small-caps;letter-spacing:var(--track-label);color:var(--muted)}.notes-kind.kind-bug,.notes-kind.kind-blocker{color:var(--ink);font-weight:500}.notes-body{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.notes-state{font-size:var(--fs-5);color:var(--muted)}.notes-when{font-size:var(--fs-5);color:var(--muted);text-align:right}.notes-loading{padding:var(--s-4) var(--s-5)}.notes-textarea{box-sizing:border-box;border:var(--rule-w) solid var(--rule);width:100%;color:var(--ink);font:inherit;font-size:var(--fs-7);resize:vertical;background:0 0;padding:8px 12px}.notes-textarea:focus{border-color:var(--accent);outline:none}.notes-history{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.notes-change{grid-template-columns:calc(140px * var(--u)) calc(48px * var(--u)) minmax(0, 1fr);gap:var(--s-2);border-bottom:var(--rule-w) solid var(--rule);font-size:var(--fs-6);align-items:baseline;padding:6px 0;display:grid}.notes-change-when{font-size:var(--fs-5);color:var(--muted)}.notes-change-who{color:var(--muted)}.notes-change.is-agent .notes-change-who{color:var(--accent)}.notes-reply{border-left:var(--rule-active) solid var(--accent);color:var(--ink);white-space:pre-wrap;grid-column:3;margin:4px 0 0;padding:4px 0 4px 12px}@media (width<=720px){.notes-row{grid-template-columns:calc(48px * var(--u)) calc(64px * var(--u)) minmax(0, 1fr) var(--ctl-lg);height:var(--row-touch)}.notes-row .notes-when,.notes-row .notes-state{display:none}.notes-change{grid-template-columns:auto minmax(0,1fr);row-gap:2px}.notes-change-what,.notes-reply{grid-column:1/-1}}.subloop-add{gap:var(--s-2);margin-bottom:var(--s-2);grid-template-columns:1fr auto;align-items:center;display:grid}.subloop-add input{height:var(--ctl);padding-block:0}.subloop-add+.subloop-add{margin-top:calc(var(--s-2) * -1 + var(--s-1))}.subloop-progress{margin:0 0 var(--s-1);color:var(--muted);font-size:var(--fs-7)}.subloop-list{grid-template-columns:var(--cols-icon,var(--ctl)) minmax(0, 1fr) repeat(4, max-content);column-gap:var(--s-2);margin:0;padding:0;list-style:none;display:grid}.subloop,.subloop-cols{grid-column:1/-1;grid-template-columns:subgrid;align-items:center;display:grid}.subloop{border-bottom:1px solid var(--rule);height:36px}.subloop:last-child{border-bottom:0}.subloop-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.subloop-name{align-items:center;gap:var(--s-2);min-width:0;display:flex}.subloop-chip{box-sizing:border-box;border:1px solid var(--muted);border-radius:50%;flex:none;width:10px;height:10px}.subloop-box{box-sizing:border-box;border:var(--rule-w) solid var(--ink);width:14px;height:14px;display:inline-block}.subloop-kind{color:var(--muted);font-size:var(--fs-7)}.subloop.is-done .subloop-title{color:var(--muted);text-decoration:line-through}.subloop.is-done{opacity:.7}.detail.detail-wide{width:min(calc(640px * var(--u)), 94vw)}.subloop-cols{margin-bottom:var(--s-1);color:var(--muted);font-size:var(--fs-5);text-transform:uppercase;letter-spacing:.06em}.subloop-col-name{grid-column:2}.subloop-open{min-width:0;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0}.subloop-open:hover{text-decoration:underline}.subloop.is-done .subloop-open:hover{text-decoration:underline line-through}.subloop-stats{display:contents}.subloop-stat{text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-family:var(--font-mono);font-size:var(--fs-5);overflow:hidden}.subloop-stat.is-late{color:var(--accent)}.subloop-actions{justify-content:flex-end;gap:var(--s-1);display:flex}.detail-back{min-height:var(--ctl-sm);text-overflow:ellipsis;white-space:nowrap;max-width:100%;color:var(--muted);font-family:var(--font-mono);font-size:var(--fs-7);cursor:pointer;background:0 0;border:0;align-self:flex-start;padding:0;overflow:hidden}.detail-back:hover{color:var(--ink)}@media (width<=720px){.detail.detail-wide{width:100%}.subloop-cols{display:none}.subloop-list{display:block}.subloop-add input{height:var(--ctl-lg)}.subloop{height:auto;padding:var(--s-1) 0;grid-template-columns:var(--cols-icon,var(--ctl-lg)) minmax(0, 1fr);row-gap:0}.subloop-tick{min-width:var(--cols-icon,var(--ctl-lg));grid-area:1/1}.subloop-name{grid-area:1/2}.subloop-stats{grid-area:2/2;display:block}.subloop-stat{text-overflow:clip;white-space:normal;margin-right:var(--s-2);display:inline;overflow:visible}.subloop-stat:before{content:attr(data-label) " ";opacity:.7}.subloop-actions{flex-wrap:wrap;grid-area:3/2;justify-content:flex-start}}.detail-parent-row{gap:var(--s-2);display:flex}.modal.loop-picker{width:min(480px,92vw);max-height:calc(100% - 2 * var(--s-4))}.loop-picker-search{width:100%}.loop-picker-table{overflow-y:auto}.loop-picker-empty{padding:var(--s-3) 0}.subloop-attach{width:100%;margin-bottom:var(--s-2);justify-content:flex-start}.subloop-parent{gap:var(--s-2);align-items:center;display:flex}.subloop-parent .btn:first-child{flex:1;justify-content:flex-start}.memory-title{font-size:var(--fs-6);margin:0;font-weight:500}.memory-body{overflow-wrap:anywhere;white-space:pre-wrap;min-width:0;font-weight:500}.memory-note{font-size:var(--fs-6);white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.memory-add{gap:var(--s-2);grid-template-columns:minmax(0,1fr) auto;align-items:center;display:grid}.memory-add-note,.aspect-area-field{grid-column:1/-1}@media (width<=720px){.aspects-title{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}}.memory-review{gap:var(--s-3);padding:var(--s-4) 0;flex-direction:column;display:flex}.memory-review-meta{font-size:var(--fs-5);color:var(--muted);margin:0}.memory-review-title{font-size:var(--fs-9);overflow-wrap:anywhere;margin:0;font-weight:500}.memory-review-foot{gap:var(--s-2);flex-wrap:wrap;display:flex}@media (width<=720px){.memory-add .settings-field{height:var(--ctl-lg)}.memory-row .idea-meta{white-space:normal;grid-column:1/-1}.memory-review-foot .btn{flex:1}.home-strip,.home-left,.home-right,.log-list,.tgt-bar,.tgt-list,.tgt-formula,.review,.fin-page,.learn-filters{padding-left:var(--s-4);padding-right:var(--s-4)}.due-row{height:var(--row-edit)}.stable-check{min-width:var(--ctl-lg);min-height:var(--ctl-lg);justify-content:center}.stable-check input,.project-phase>input[type=checkbox]{width:20px;height:20px}.project-phase,.project-add-phase{min-height:var(--ctl-lg)}.project-add-phase-input{font-size:var(--fs-9);align-self:stretch}.project-drawer .datefield,.project-page-fields .datefield{flex-wrap:wrap;row-gap:0}.project-drawer .datefield-text,.project-page-fields .datefield-text{flex:1 0 7.5em}.project-drawer .datefield :is(.datefield-open,.datefield-clear),.project-page-fields .datefield :is(.datefield-open,.datefield-clear){min-width:40px}.section-link,.learn-card-notes a{padding:var(--s-3) 0;margin:calc(-1 * var(--s-3)) 0;display:inline-block}.sortable-head .sort-col{min-width:40px;min-height:40px}.subnav-tab,.fin-tab,.rv-tab{justify-content:center;min-width:40px}.loops-list-sub{height:auto;min-height:var(--ctl-lg)}.fin-category-chip{min-height:40px}.fin-categorize,.fin-assign{height:auto;min-height:var(--row-edit)}.fin-picker-row{height:var(--row-edit)}.fin-cat-icon{min-width:var(--row-edit);min-height:var(--row-edit);flex:none;justify-content:center}.fin-cat-cell input,.fin-cat-cell select{height:var(--ctl-lg);font-size:var(--fs-9)}.fin-cat-name input{text-overflow:ellipsis}.project-page-subnav{height:auto;min-height:var(--ctl-lg);flex-wrap:nowrap}.project-page-subnav:has(>.project-page-title.is-whole){flex-wrap:wrap}.project-page-title{line-height:var(--ctl-lg)}.project-page-title:not(.is-whole)~.project-page-sub{text-overflow:ellipsis;white-space:nowrap;max-width:50%;overflow:hidden}.learn-source-page .project-page-subnav{flex-wrap:wrap}.learn-source-page .project-page-title{flex:1 1 0}.learn-source-page .project-page-title~.project-page-sub{box-sizing:border-box;max-width:none;padding:0 0 var(--s-2) calc(var(--ctl-lg) + var(--s-2));flex-basis:100%}.settings-field,.fin-search,.fin-box,.fit-field-box,.journal-search,.rec-field-box{height:var(--ctl-lg);font-size:var(--fs-9)}.settings-field input,.figure-field input,.fin-search .fin-search-field,.fin-box input,.fin-box select,.fit-field-box input,.fit-field-box select,.journal-search input,.rec-field-box input{height:auto;font-size:var(--fs-9);align-self:stretch}.datefield-text{height:var(--ctl-lg);font-size:var(--fs-9)}.hue-swatch,.journal .hue-swatch{width:var(--row-edit);height:var(--row-edit)}.more-theme{min-height:var(--ctl-lg)}.fin-toggle{min-width:var(--ctl-lg);min-height:var(--ctl-lg);justify-content:center}.extra-row .extra-input,.dur-free input,.spend-note input{font-size:var(--fs-9);align-self:stretch}.spend-note{height:var(--ctl-lg)}.fin-link{min-height:var(--row-edit);align-items:center;display:inline-flex}.journal-start-item{position:relative}.journal-start-item:after{content:"";inset:0 calc(-1 * var(--s-2));position:absolute}.detail :is(input,select,textarea),.new-loop :is(input,select,textarea),.learn-dialog :is(input,select,textarea),.fin-item-row.editing :is(input,select),.project-page-fields :is(input,select,textarea),.project-drawer :is(input,select,textarea){font-size:var(--fs-9)}.learn-dialog-input,.learn-dialog-select{height:var(--ctl-lg)}.learn-topic-page :is(.notes-textarea,.learn-review-note):not(.learn-notes){min-height:var(--ctl-lg);font-size:var(--fs-9)}.project-page-fields input.row-value,.project-page-fields select.row-value,.project-page-fields .select-box.row-value,.project-drawer input.row-value,.project-drawer select.row-value{min-height:var(--ctl-lg);box-sizing:border-box}}.lrn-page{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.lrn-subnav{justify-content:space-between}.lrn-readout{min-width:0;font-size:var(--t-mono);color:var(--muted);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.lrn-actions{align-items:center;gap:var(--s-2);flex:none;margin-left:auto;display:flex}.lrn-actions a{text-decoration:none}.lrn-body{min-height:0;padding:var(--s-4) var(--s-5) var(--s-6);flex:1;overflow-y:auto}.lrn-filters{align-items:center;gap:var(--s-2);margin-bottom:var(--s-3);display:flex}.lrn-chip-count{margin-left:var(--s-1);font-size:var(--t-mono);color:var(--muted)}.opt.on .lrn-chip-count{color:inherit}.lrn-topic-cell{align-items:baseline;gap:var(--s-2);min-width:0;display:flex}.lrn-topic-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.lrn-tag{font-size:var(--t-mono);color:var(--muted);flex:none}.lrn-due{color:var(--accent);font-weight:500}.lrn-none{color:var(--muted)}@media (width<=720px){.lrn-body{padding:var(--s-3) var(--s-4) var(--s-5)}.lrn-readout{white-space:normal}.lrn-actions{margin-block:var(--s-1);flex-wrap:wrap;flex:0 auto}.lrn-topic-title{white-space:normal;overflow-wrap:anywhere}}.lrn-fig{color:color-mix(in srgb, var(--ink) 72%, transparent)}.lrn-page .stable-row:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.lrn-filters .opt.on{background:color-mix(in srgb, var(--accent) 12%, transparent);border-color:var(--accent);color:var(--ink)}.lrn-filters .opt.on .lrn-chip-count{color:var(--accent)}.lrn-filters:not(:has(.opt)){margin-bottom:0}.lrn-page .stable>.stable-mobile-sort,.lrn-sort{display:none}.lrn-dialog-backdrop{z-index:var(--z-modal);position:fixed}@media (width<=720px){.lrn-subnav{row-gap:var(--s-2);height:auto;padding:var(--s-3) var(--s-4);flex-wrap:wrap}.lrn-readout{flex:1 0 100%}.lrn-actions{flex-wrap:nowrap;margin:0}:is(.lrn-filters,.lrn-filters:not(:has(.opt))){min-height:var(--ctl-lg);margin-bottom:var(--s-3)}.lrn-sort{align-items:center;gap:var(--s-2);margin-left:auto;display:flex}.lrn-sort-caption{font-size:var(--t-mono);color:var(--muted)}.lrn-sort .stable-mobile-sort{border-bottom:none;padding:0}}.lrn-menu-item{min-height:var(--ctl);align-items:center;display:flex}.lrn-menu-item.is-danger,.lrn-menu-item.is-danger:hover{color:var(--bad-text)}.lrn-menu-item:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}@media (pointer:coarse){.lrn-menu-item{min-height:var(--ctl-lg)}}.lrn-study-btn{width:100%;text-decoration:none}.lrn-nothing-due{font-size:var(--t-mono);color:color-mix(in srgb, var(--ink) 72%, transparent);margin:0}.lrn-quick-add,.lrn-composer{gap:var(--s-2);padding:var(--s-3);border:var(--rule-w) solid var(--rule);flex-direction:column;display:flex}.lrn-field{gap:var(--s-1);flex-direction:column;min-width:0;display:flex}.lrn-field-head{justify-content:space-between;align-items:baseline;gap:var(--s-2);display:flex}.lrn-field-count{font-size:var(--t-mono);color:color-mix(in srgb, var(--ink) 72%, transparent)}.lrn-field-count.is-full{color:var(--bad-text)}.lrn-field-label{font-size:var(--t-label);letter-spacing:var(--track-label);text-transform:uppercase;color:var(--muted)}.lrn-grow,.lrn-input{box-sizing:border-box;width:100%;min-height:var(--ctl);padding:6px var(--s-2);border:var(--rule-w) solid var(--rule);color:var(--ink);font:inherit;font-size:var(--fs-7);background:0 0;line-height:1.45}.lrn-grow{resize:none;overflow:hidden}.lrn-grow:focus-visible,.lrn-input:focus-visible{outline:2px solid var(--accent);outline-offset:-1px}.lrn-quick-foot{justify-content:flex-end;align-items:center;gap:var(--s-2);flex-wrap:wrap;display:flex}.lrn-quick-hint{font-size:var(--t-mono);color:var(--muted);margin-right:auto}.lrn-empty{padding:var(--s-3) 0;font-size:var(--t-mono);color:color-mix(in srgb, var(--ink) 72%, transparent);margin:0}.lrn-cards{border-top:var(--rule-w) solid var(--rule);margin:0;padding:0;list-style:none}.lrn-card{border-bottom:var(--rule-w) solid var(--rule)}.lrn-card-row{align-items:flex-start;gap:var(--s-3);box-sizing:border-box;width:100%;min-height:var(--row-edit);padding:var(--s-2) 0;color:var(--ink);font:inherit;font-size:var(--fs-7);text-align:left;cursor:pointer;background:0 0;border:none;display:flex}.lrn-card-row:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}@media (hover:hover){.lrn-card-row:hover{background:var(--wash-hover)}}.lrn-card-q{white-space:pre-wrap;overflow-wrap:anywhere;flex:1;min-width:0;line-height:1.4}.lrn-card-when{font-size:var(--t-mono);color:color-mix(in srgb, var(--ink) 72%, transparent);flex:none;padding-top:2px}.lrn-card-when.is-due{color:var(--accent)}.lrn-card-open{gap:var(--s-2);padding:0 0 var(--s-3);flex-direction:column;display:flex}.lrn-card-a{padding-left:var(--s-3);border-left:var(--rule-active) solid var(--rule);font-size:var(--fs-7);color:color-mix(in srgb, var(--ink) 80%, transparent);white-space:pre-wrap;overflow-wrap:anywhere;margin:0;line-height:1.4}.lrn-card-actions{gap:var(--s-2);flex-wrap:wrap;display:flex}.lrn-card-edit{gap:var(--s-2);flex-direction:column;display:flex}@media (width<=600px),(pointer:coarse) and (width<=900px){.lrn-card-row{min-height:var(--ctl-lg);align-items:center}.lrn-grow,.lrn-input{min-height:var(--ctl-lg);font-size:var(--fs-9)}}.lrn-topic{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.lrn-topic-bar{scrollbar-gutter:stable;padding:0;overflow:hidden}.lrn-topic-bar-in{box-sizing:border-box;width:100%;max-width:var(--page-col);padding:0 var(--s-5);justify-content:space-between;align-items:center;margin:0 auto;display:flex}.lrn-back{gap:var(--s-1);margin-left:calc(-1 * var(--s-3));text-decoration:none}.lrn-topic-scroll{scrollbar-gutter:stable;flex:1;min-height:0;overflow-y:auto}.lrn-topic-col{box-sizing:border-box;gap:var(--s-2);width:100%;max-width:var(--page-col);padding:var(--s-5) var(--s-5) var(--s-6);flex-direction:column;margin:0 auto;display:flex}.lrn-title{box-sizing:border-box;width:100%;color:var(--ink);font:inherit;font-size:var(--fs-12);resize:none;overflow-wrap:anywhere;background:0 0;border:none;padding:0;font-weight:500;line-height:1.3;overflow:hidden}.lrn-title:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.lrn-glance{min-height:1em;font-size:var(--t-mono);color:color-mix(in srgb, var(--ink) 72%, transparent);margin:0}.lrn-tabs{gap:var(--s-4);height:var(--row-edit);margin-top:var(--s-2);border-bottom:var(--rule-w) solid var(--rule);display:flex}.lrn-tabs .subnav-tab{flex:none}.lrn-tabs .subnav-tab:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.lrn-tab-panel{gap:var(--s-4);padding-top:var(--s-3);flex-direction:column;display:flex}@media (width<=720px){.lrn-topic-col{padding:var(--s-4) var(--s-4) var(--s-5)}.lrn-topic-bar-in{padding:0 var(--s-4)}.lrn-title{font-size:var(--fs-11)}.lrn-tabs{gap:var(--s-3);height:auto}}@media (width<=600px),(pointer:coarse) and (width<=900px){.lrn-title{min-height:var(--ctl-lg);padding-block:var(--s-2)}}.lrn-study{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.lrn-study-bar{padding:0;overflow:hidden}.lrn-study-bar-in{box-sizing:border-box;width:100%;max-width:var(--page-col);padding:0 var(--s-5);justify-content:space-between;align-items:center;margin:0 auto;display:flex}.lrn-study-end{margin-left:calc(-1 * var(--s-3))}.lrn-study-count{font-size:var(--t-mono);color:color-mix(in srgb, var(--ink) 72%, transparent);margin-left:auto}.lrn-study-progress{background:var(--rule);flex:none;height:2px}.lrn-study-progress>span{background:var(--accent);height:100%;display:block}.lrn-study-body{flex-direction:column;flex:1;min-height:0;display:flex}.lrn-study-col{box-sizing:border-box;width:100%;min-height:0;max-width:var(--page-col);padding:0 var(--s-5);flex-direction:column;flex:1;margin:0 auto;display:flex}.lrn-study-col>.screen-skeleton,.lrn-study-col>.screen-error{margin-top:var(--s-6)}.lrn-study-scroll{min-height:0;margin:0 calc(-1 * var(--s-5));padding:var(--s-6) var(--s-5) var(--s-5);-webkit-mask-image:linear-gradient(to bottom, #000 calc(100% - var(--s-5)), transparent);-webkit-mask-image:linear-gradient(to bottom, #000 calc(100% - var(--s-5)), transparent);mask-image:linear-gradient(to bottom, #000 calc(100% - var(--s-5)), transparent);flex:1;overflow-y:auto}.lrn-study-card,.lrn-study-done{gap:var(--s-4);flex-direction:column;display:flex}.lrn-study-topic,.lrn-study-again,.lrn-study-next{font-size:var(--t-mono);color:color-mix(in srgb, var(--ink) 72%, transparent);margin:0}.lrn-study-question{font-size:var(--fs-12);white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-weight:500;line-height:1.35}.lrn-study-rule{border:0;border-top:var(--rule-w) solid var(--rule);width:100%;margin:0}.lrn-study-answer{font-size:var(--fs-9);color:color-mix(in srgb, var(--ink) 86%, transparent);white-space:pre-wrap;overflow-wrap:anywhere;margin:0;line-height:1.55}.lrn-study-actions{gap:var(--s-3);grid-template-columns:1fr 1fr;display:grid}.lrn-study-actions>*{width:100%;min-width:0}.lrn-study-show{grid-column:1/-1}.lrn-study-keys{margin:var(--s-3) 0 0;font-size:var(--t-mono);color:color-mix(in srgb, var(--ink) 72%, transparent);text-align:center}.lrn-study-tally{font-size:var(--fs-7);margin:0}.lrn-study-exits{gap:var(--s-2);margin-top:var(--s-2);flex-wrap:wrap;display:flex}.lrn-study-exits a{text-decoration:none}.lrn-study-foot{padding:var(--s-4) 0 var(--s-5);border-top:var(--rule-w) solid var(--rule);flex:none}@media (width<=720px){.lrn-study-bar-in,.lrn-study-col{padding:0 var(--s-4)}.lrn-study-scroll{margin:0 calc(-1 * var(--s-4));padding:var(--s-4) var(--s-4)}.lrn-study-question{font-size:var(--fs-11)}}@media (width<=600px),(pointer:coarse) and (width<=900px){.lrn-study-foot{padding:var(--s-3) 0}}.lrn-notes-bar{align-items:center;gap:var(--s-2);display:flex}.lrn-search{flex:1;min-width:0}.lrn-note-text{resize:vertical;min-height:8.7em}.lrn-notes{border-top:var(--rule-w) solid var(--rule);margin:0;padding:0;list-style:none}.lrn-note{gap:var(--s-2);padding:var(--s-4) 0 var(--s-4) var(--s-3);border-bottom:var(--rule-w) solid var(--rule);flex-direction:column;display:flex}.lrn-note.is-pinned{box-shadow:inset var(--rule-active) 0 0 0 var(--accent)}.lrn-note-head{align-items:baseline;gap:var(--s-2);min-width:0;display:flex}.lrn-note-title{min-width:0;font-size:var(--fs-10);overflow-wrap:anywhere;flex:1;margin:0;font-weight:600;line-height:1.35}.lrn-note-title.is-clamped{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.lrn-note-dateline{font-size:var(--t-mono);color:color-mix(in srgb, var(--ink) 72%, transparent);margin:0}.lrn-note-pin,.lrn-note-date{font-size:var(--t-mono);color:color-mix(in srgb, var(--ink) 72%, transparent);flex:none}.lrn-note-body{max-width:70ch;font-size:var(--fs-7);color:color-mix(in srgb, var(--ink) 86%, transparent);overflow-wrap:anywhere;line-height:1.55}.lrn-note-body .journal-prose{font-size:inherit;line-height:inherit}.lrn-note-body .journal-p,.lrn-note-body .journal-list,.lrn-note-body .journal-quote{margin:0 0 var(--s-2)}.lrn-note-body .journal-h2,.lrn-note-body .journal-h3{margin:var(--s-2) 0 var(--s-1);font-weight:600}.lrn-note-body .journal-h2{font-size:var(--fs-9)}.lrn-note-body .journal-h3{font-size:var(--fs-8)}.lrn-note-body .journal-prose>:first-child{margin-top:0}.lrn-note-body .journal-prose>:last-child,.lrn-note-body .journal-list li{margin-bottom:0}.lrn-note-body .journal-codeblock{margin:0 0 var(--s-2)}.lrn-note-body .journal-code{padding:0 var(--s-1);background:var(--wash-hover)}.lrn-note-body.is-clamped{max-height:4.65em;overflow:hidden}.lrn-note-body.is-clamped.is-cut{-webkit-mask-image:linear-gradient(#000 calc(100% - 1.55em),#0000);mask-image:linear-gradient(#000 calc(100% - 1.55em),#0000)}.lrn-note-body.is-clamped .journal-prose>*{margin:0}.lrn-note-more{margin-left:calc(-1 * var(--s-3));align-self:flex-start}.lrn-note-actions{align-items:center;gap:var(--s-1);margin-left:calc(-1 * var(--s-3));flex-wrap:wrap;display:flex}.lrn-note .lrn-quick-add{margin-top:var(--s-1)}@media (width<=600px),(pointer:coarse) and (width<=900px){.lrn-note-more{margin-block:calc(-1 * var(--s-2))}}.lrn-stats{gap:var(--s-3);padding:0 0 var(--s-3);border-bottom:var(--rule-w) solid var(--rule);grid-template-columns:repeat(5,minmax(0,1fr));margin:0;list-style:none;display:grid}.lrn-stat{gap:var(--s-1);flex-direction:column;min-width:0;display:flex}.lrn-stat-label{text-overflow:ellipsis;white-space:nowrap;font-size:var(--t-label);letter-spacing:var(--track-label);text-transform:uppercase;color:color-mix(in srgb, var(--ink) 72%, transparent);overflow:hidden}.lrn-stat-value{font-size:var(--fs-10);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.lrn-overview{gap:var(--s-2);flex-direction:column;display:flex}.lrn-overview-head{align-items:center;gap:var(--s-2);min-height:var(--ctl);display:flex}.lrn-section-title{font-size:var(--t-label);letter-spacing:var(--track-label);text-transform:uppercase;color:color-mix(in srgb, var(--ink) 72%, transparent);flex:1;margin:0;font-weight:500}.lrn-overview-edit{margin-right:calc(-1 * var(--s-3))}.lrn-overview-state{font-size:var(--t-mono);color:color-mix(in srgb, var(--ink) 72%, transparent)}.lrn-overview-state.is-bad{color:var(--bad-text)}.lrn-overview-read{max-width:70ch;font-size:var(--fs-8);color:color-mix(in srgb, var(--ink) 86%, transparent);overflow-wrap:anywhere;line-height:1.6}.lrn-overview-read .journal-prose{font-size:inherit;line-height:inherit}.lrn-overview-read .journal-p,.lrn-overview-read .journal-list,.lrn-overview-read .journal-quote,.lrn-overview-read .journal-codeblock{margin:0 0 var(--s-3)}.lrn-overview-read .journal-h2,.lrn-overview-read .journal-h3{margin:var(--s-4) 0 var(--s-2);color:var(--ink);font-weight:600}.lrn-overview-read .journal-h2{font-size:var(--fs-10)}.lrn-overview-read .journal-h3{font-size:var(--fs-9)}.lrn-overview-read .journal-prose>:first-child{margin-top:0}.lrn-overview-read .journal-prose>:last-child{margin-bottom:0}.lrn-overview-read .journal-code{padding:0 var(--s-1);background:var(--wash-hover)}.lrn-overview-text{resize:vertical;min-height:280px}@media (width<=600px){.lrn-stats{row-gap:var(--s-3);grid-template-columns:repeat(6,minmax(0,1fr))}.lrn-stat{grid-column:span 2}.lrn-stat:nth-child(3),.lrn-stat:nth-child(5){order:1;grid-column:span 3}}.lrn-sources{border-top:var(--rule-w) solid var(--rule);margin:0;padding:0;list-style:none}.lrn-source{gap:var(--s-3);padding:var(--s-3) 0;border-bottom:var(--rule-w) solid var(--rule);flex-direction:column;display:flex}.lrn-source-head{align-items:flex-start;gap:var(--s-2);display:flex}.lrn-source-main{align-items:flex-start;gap:var(--s-1);min-width:0;padding-top:var(--s-1);flex-direction:column;flex:1;display:flex}.lrn-source-title{font-size:var(--fs-9);color:var(--ink);overflow-wrap:anywhere;font-weight:500;line-height:1.35}a.lrn-source-title{text-decoration:underline;-webkit-text-decoration-color:var(--rule);text-decoration-color:var(--rule);text-underline-offset:3px}a.lrn-source-title svg{margin-left:var(--s-1);vertical-align:baseline;color:color-mix(in srgb, var(--ink) 72%, transparent)}.lrn-source-meta{font-size:var(--t-mono);color:color-mix(in srgb, var(--ink) 72%, transparent);overflow-wrap:anywhere}.lrn-source-files{gap:var(--s-1) var(--s-3);font-size:var(--t-mono);flex-wrap:wrap;display:flex}.lrn-source-files a{align-items:center;gap:var(--s-1);min-width:0;color:var(--ink);text-decoration:underline;-webkit-text-decoration-color:var(--rule);text-decoration-color:var(--rule);text-underline-offset:3px;overflow-wrap:anywhere;display:inline-flex}.lrn-source-title:focus-visible,.lrn-source-files a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (hover:hover){a.lrn-source-title:hover,.lrn-source-files a:hover{text-decoration-color:currentColor}}.lrn-source-actions{align-items:center;gap:var(--s-1);flex:none;display:flex}.lrn-form-grid{gap:var(--s-3);grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}.lrn-span{grid-column:1/-1}.lrn-select{width:100%}.lrn-chips{gap:var(--s-2);flex-wrap:wrap;display:flex}.lrn-form-error{font-size:var(--t-mono);color:var(--bad-text);margin:0}.lrn-files{gap:var(--s-2);padding-top:var(--s-3);border-top:var(--rule-w) solid var(--rule);flex-direction:column;display:flex}.lrn-files.is-over{outline:2px dashed var(--accent);outline-offset:2px}.lrn-files-head{align-items:baseline;gap:var(--s-1) var(--s-3);flex-wrap:wrap;display:flex}.lrn-files-note,.lrn-file-meta{font-size:var(--t-mono);color:color-mix(in srgb, var(--ink) 72%, transparent);margin:0}.lrn-files-list{margin:0;padding:0;list-style:none}.lrn-file{align-items:center;gap:var(--s-2);padding:var(--s-1) 0;border-bottom:var(--rule-w) solid var(--rule);display:flex}.lrn-file:first-child{border-top:var(--rule-w) solid var(--rule)}.lrn-file-link{min-width:0;padding:var(--s-1) 0;color:var(--ink);flex-direction:column;flex:1;gap:2px;text-decoration:none;display:flex}.lrn-file-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.lrn-file-name{font-size:var(--fs-7);overflow-wrap:anywhere;text-decoration:underline;-webkit-text-decoration-color:var(--rule);text-decoration-color:var(--rule);text-underline-offset:3px}@media (hover:hover){.lrn-file-link:hover .lrn-file-name{text-decoration-color:currentColor}}.lrn-file-actions{align-items:center;gap:var(--s-1);flex:none;display:flex}.lrn-danger,.lrn-danger:hover{color:var(--bad-text)}.lrn-ask{gap:var(--s-2);padding:var(--s-3);border:var(--rule-w) solid var(--bad-text);flex-direction:column;display:flex}.lrn-ask-text{max-width:70ch;font-size:var(--fs-7);margin:0;line-height:1.45}.lrn-files-add{align-items:center;gap:var(--s-2);margin-left:calc(-1 * var(--s-3));display:flex}.lrn-uploads,.lrn-paused{gap:var(--s-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.lrn-uploads-area{gap:var(--s-3);flex-direction:column;display:flex}.lrn-upload,.lrn-paused-row{gap:var(--s-1);padding:var(--s-2) 0;flex-direction:column;display:flex}.lrn-upload+.lrn-upload,.lrn-paused-row+.lrn-paused-row{border-top:var(--rule-w) solid var(--rule)}.lrn-upload-head{justify-content:space-between;align-items:center;gap:var(--s-2);display:flex}.lrn-upload-name{min-width:0;font-size:var(--fs-7);overflow-wrap:anywhere}.lrn-upload-cancel{flex:none}.lrn-paused-row .lrn-file-actions,.lrn-paused-confirm .lrn-file-actions{flex-wrap:wrap;align-self:flex-start;max-width:100%}.lrn-paused-confirm{align-items:flex-start;gap:var(--s-1);flex-direction:column;display:flex}.lrn-continue{min-width:0}.lrn-bar{border:var(--rule-w) solid var(--rule);background:0 0;height:6px;position:relative;overflow:hidden}.lrn-bar-fill{background:var(--accent);height:100%;display:block}.lrn-bar-fill.is-unknown{width:30%}.lrn-bar-fill.is-paused{background:var(--muted)}@media (prefers-reduced-motion:no-preference){.lrn-bar-fill{transition:width .3s linear}.lrn-bar-fill.is-unknown{animation:1.4s ease-in-out infinite alternate lrn-bar-sweep}}@keyframes lrn-bar-sweep{0%{margin-left:0}to{margin-left:70%}}.lrn-file{flex-wrap:wrap}.lrn-reading{padding-bottom:var(--s-1);flex:100%}.learn-file .lrn-reading{grid-column:1/-1}.learn-file .learn-preview{text-overflow:clip;white-space:normal;overflow-wrap:anywhere;overflow:visible}@media (width<=600px){.lrn-form-grid{grid-template-columns:minmax(0,1fr)}.lrn-source-head{align-items:stretch;gap:var(--s-1);flex-direction:column}.lrn-source-actions{margin-left:calc(-1 * var(--s-3))}}@media (width<=600px),(pointer:coarse) and (width<=900px){.lrn-file-link{min-height:var(--ctl-lg);justify-content:center}.lrn-source-files a{min-height:var(--ctl-lg)}a.lrn-source-title{min-height:var(--ctl-lg);box-sizing:border-box;padding-block:calc((var(--ctl-lg) - 1.35em) / 2);margin-block:calc((1.35em - var(--ctl-lg)) / 2);display:inline-block}.lrn-source-main{padding-top:0}}.projects-tabs{flex:none}.code-page{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.code-body{min-height:0;padding:var(--s-3) var(--s-5) var(--s-5);flex:1;overflow-y:auto}.code-strip{gap:var(--s-2);margin-bottom:var(--s-3);flex-wrap:wrap;display:flex}.code-strip-count{margin-left:var(--s-2);font-size:var(--t-mono);color:var(--muted)}.opt.on .code-strip-count{color:inherit}.code-group-toggle{gap:var(--s-1);margin-left:calc(-1 * var(--s-3));color:var(--muted)}.code-title{font-weight:500}.code-own-cell{align-items:center;min-width:0;max-width:100%;display:inline-flex}.code-own-cell>.lrn-menu-btn{margin-left:calc(-1 * var(--s-3));justify-content:flex-start}@media (hover:hover){.code-own-cell>.lrn-menu-btn:hover{background:var(--wash-hover)}}.code-own-cell>.lrn-menu-btn:active,.code-own-cell>.lrn-menu-btn[aria-expanded=true]{background:var(--wash-press)}.stable-cell.code-cell-own{overflow:visible}.code-chip{align-items:center;gap:var(--s-1);font-family:var(--font-mono);font-size:var(--t-mono);display:inline-flex}.code-chip svg{color:var(--muted);flex:none}.code-chip.is-ready{color:var(--accent)}.code-chip.is-high{font-weight:600}.code-repo{font-size:var(--t-mono);color:var(--muted)}.code-quiet{color:var(--muted)}.code-brief-status{font-size:var(--t-mono);color:var(--muted)}.code-brief-status.is-approved{color:var(--good-text)}.code-touched{font-size:var(--t-mono);color:var(--muted)}.code-touched.is-neglected{color:var(--warn-text)}.code-empty-line{margin:var(--s-2) 0 var(--s-3);font-size:var(--t-mono);color:var(--muted)}.stable-row.code-row.is-done .code-title{color:var(--muted)}.lrn-menu-item[aria-checked=true]{color:var(--accent)}.lrn-menu-check{padding-left:var(--s-3);margin-left:auto;display:inline-flex}@media (width<=600px){.projects-subnav{height:auto;min-height:var(--row-edit);column-gap:var(--s-3);padding:0 var(--s-4);flex-wrap:wrap;row-gap:0}.projects-subnav .section-readout{padding-bottom:var(--s-2);flex:1 0 100%;margin-left:0}.code-body{padding:var(--s-3) var(--s-4) var(--s-4)}}@media (width<=720px){.stable-row.code-row .stable-cell[data-mobile=meta]:before{content:none}.stable-row.code-row .stable-cell.code-cell-own{flex:none}.stable-row.code-row .stable-cell.code-cell-next{min-width:0;color:var(--ink);flex:1 1 0}.stable-row.code-row .stable-cell.code-cell-next:before{content:"·";margin-right:var(--s-2);font-variant:normal;letter-spacing:normal;color:var(--muted)}.code-strip{flex-wrap:nowrap}}.home-agents{align-items:center;column-gap:var(--s-2);margin-top:var(--s-3);padding:var(--s-2) 0;display:inline-flex}@media (pointer:coarse),(width<=720px){.home-agents{min-height:var(--row-edit);padding:0}}.code-bar{align-items:center;gap:var(--s-2) var(--s-3);padding:var(--s-2) var(--s-5);border-bottom:var(--rule-w) solid var(--rule);flex-wrap:wrap;flex:none;display:flex}.code-bar-stage{width:calc(176px * var(--u))}.code-bar-priority{width:calc(152px * var(--u))}.code-brief-approved{color:var(--good-text)}.code-brief-actions{gap:var(--s-2);flex-wrap:wrap;display:flex}.code-field{gap:var(--s-1);padding-top:var(--s-2);border-top:var(--rule-w) solid var(--rule);flex-direction:column;display:flex}.code-field-head{align-items:center;gap:var(--s-2);min-height:var(--ctl);display:flex}.code-field-label{font-size:var(--fs-4);font-variant:all-small-caps;letter-spacing:var(--track-label);color:var(--muted)}.code-field-edit{margin-left:auto}.code-field-empty{color:color-mix(in srgb, var(--ink) 72%, transparent);margin:0;font-style:italic}.code-brief-actions{align-items:center}.code-brief-needs{margin:calc(-1 * var(--s-2)) 0 0;font-size:var(--fs-6);color:color-mix(in srgb, var(--ink) 72%, transparent)}.code-bar-field{align-items:center;gap:var(--s-2);display:inline-flex}.code-bar-label{font-size:var(--t-mono);color:color-mix(in srgb, var(--ink) 72%, transparent);white-space:nowrap}.code-field-line{overflow-wrap:anywhere;margin:0}.code-field-read{overflow-wrap:anywhere}.code-field-input{box-sizing:border-box;width:100%;padding:var(--s-2);border:var(--rule-w) solid var(--rule);color:var(--ink);font:inherit;font-size:var(--t-body);background:0 0}textarea.code-field-input{min-height:calc(var(--ctl) * 4);resize:vertical}.code-field-input:focus{border-color:var(--accent);outline:none}.code-field-foot{align-items:center;gap:var(--s-2);margin-top:var(--s-2);flex-wrap:wrap;display:flex}.code-field-hint{font-size:var(--t-mono);color:var(--muted)}.code-field-state{font-size:var(--t-mono);color:var(--muted);margin-left:auto}.code-field-state.is-bad{color:var(--bad-text)}@media (width<=600px),(pointer:coarse) and (width<=900px){.code-field-input{font-size:var(--fs-9)}input.code-field-input{min-height:var(--ctl-lg)}}@media (width<=600px){.code-bar{padding:var(--s-2) var(--s-4)}.code-bar .code-touched{margin-left:auto}.code-bar-field,.code-bar-priority{flex:40%;order:1;width:auto}.code-bar-field .code-bar-stage{flex:1 1 0;width:auto;min-width:0}}.code-brief .code-field-read,.code-brief .code-field-line,.code-brief .code-field-box{max-width:70ch}@media (width<=900px){.project-page-body.is-code{row-gap:var(--s-5)}.project-page-body.is-code .project-page-main{display:contents}.project-page-body.is-code .code-brief{order:-2}}.board-day{align-items:center;gap:var(--s-2);display:flex}.board-day-btn{min-width:40px;min-height:40px}.board-day-label{text-align:center;min-width:10ch;font-size:var(--t-mono);color:var(--muted);white-space:nowrap}.board-day:has(.board-day-today) .board-day-label{color:var(--ink)}.board-day-layer{z-index:calc(var(--z-chrome) + 1);background:var(--field);flex-direction:column;display:flex;position:absolute;inset:0;overflow:hidden}.board-day-top{border-bottom:var(--rule-w) solid var(--rule);flex:none}.board-day-banner{align-items:center;gap:var(--s-2);padding:var(--s-1) var(--s-5);display:flex}.board-day-viewing{font-size:var(--fs-7);font-weight:500}.board-day-back{margin-left:auto}.board-day-activity{padding:var(--s-2) var(--s-5);border-top:var(--rule-w) solid var(--rule);white-space:nowrap;text-overflow:ellipsis;color:var(--muted);font-size:var(--fs-6);pointer-events:none;flex:none;margin:0;list-style:none;overflow:hidden}.board-day-activity li{margin-right:var(--s-4);display:inline}.board-day-role{font-size:var(--fs-4);font-variant:all-small-caps;letter-spacing:var(--track-label)}.board-day-stage{flex:1;min-height:0;position:relative}.board-day-canvas{pointer-events:none}.board-day-legend{display:contents}.board-day-note{padding:var(--s-5) max(var(--s-5), calc(50% - 24ch));text-align:center;pointer-events:none;font-size:var(--fs-7);color:var(--muted);justify-content:center;align-items:center;margin:0;display:flex;position:absolute;inset:0}@media (width<=600px),(pointer:coarse) and (width<=900px){.loops-subnav .board-day{padding-bottom:var(--s-2);flex:none;order:4}.loops-subnav .board-day:not(:has(.board-day-today)) .board-day-label{display:none}.board-day-btn{min-width:var(--ctl-lg);min-height:var(--ctl-lg)}.board-day-label{min-width:8ch}.board-day-banner,.board-day-activity{padding-left:var(--s-4);padding-right:var(--s-4)}.board-day-banner{gap:var(--s-1);padding-top:0;padding-bottom:0}.board-day-viewing{min-width:0;font-size:var(--fs-6);text-align:center}}@media (pointer:coarse){.hue-swatch,.journal .hue-swatch{width:var(--row-edit);height:var(--row-edit)}.fin-toggle{min-width:var(--ctl-lg);min-height:var(--ctl-lg);justify-content:center}.fin-picker-field,.fin-picker-kind,.fin-picker-pattern{height:var(--ctl-lg);font-size:var(--fs-9)}.fin-picker-row,.rv-tab{height:var(--row-edit)}}@media (pointer:coarse),(width<=720px){button.due-check,button.tasks-check{--check:14px;box-sizing:border-box;width:var(--ctl-lg);height:var(--ctl-lg);margin:calc((var(--check) - var(--ctl-lg)) / 2);background:0 0;border:none;flex:none;position:relative}button.tasks-check{--check:16px}button.due-check:before,button.tasks-check:before{content:"";width:var(--check);height:var(--check);box-sizing:border-box;border:var(--rule-w) solid var(--ink);background:0 0;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}button.due-check>svg,button.tasks-check>svg{position:relative}button.tasks-check.on,.due-row.is-done button.due-check,button.due-check:disabled{background:0 0}button.tasks-check.on:before,.due-row.is-done button.due-check:before,button.due-check:disabled:before{background:var(--ink)}button.tasks-check:focus-visible,button.due-check:focus-visible{outline:none}button.tasks-check:focus-visible:before,button.due-check:focus-visible:before{outline:2px solid var(--accent);outline-offset:2px}}@media (width<=720px){button.tasks-check{--check:20px}}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.sr-only:focus-visible{top:var(--s-2);left:var(--s-2);width:auto;height:auto;padding:var(--s-2) var(--s-3);clip-path:none;background:var(--field);color:var(--ink);border:var(--rule-w) solid var(--ink);z-index:var(--z-modal);outline:2px solid var(--accent);outline-offset:2px;margin:0}.day-review{min-width:0;min-height:0;padding:var(--s-3) var(--s-4) var(--s-6);flex:1;overflow-y:auto}.day-review-head{justify-content:space-between;align-items:center;gap:var(--s-3);margin-bottom:var(--s-3);display:flex}.day-review-date{color:var(--muted);font-size:var(--fs-6)}.day-review-body{gap:var(--s-5);flex-direction:column;max-width:920px;display:flex}.day-review-stats{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.day-review-stats .lrn-stat-value{white-space:normal;text-overflow:clip;overflow-wrap:anywhere;overflow:visible}.day-section{gap:var(--s-2);flex-direction:column;min-width:0;display:flex}.day-review-note{font-size:var(--fs-6);margin:0}.day-review-more{font-size:var(--fs-6);color:var(--muted);align-self:flex-start}.day-timeline{--lane-h:36px;position:relative}.day-timeline-track{height:calc(var(--lanes,1) * var(--lane-h));border:var(--rule-w) solid var(--rule);background-image:linear-gradient(to right, var(--rule) var(--rule-w), transparent var(--rule-w));background-size:12.5% 100%;position:relative}.day-timeline-block{top:calc(var(--lane,0) * var(--lane-h) + 3px);height:calc(var(--lane-h) - 6px);box-sizing:border-box;min-width:0;padding:0 var(--s-1);text-align:left;font-size:var(--fs-6);border:0;border-radius:0;align-items:center;margin:0;line-height:1;display:flex;position:absolute}.day-timeline-label{min-width:0;max-width:100%;padding:3px var(--s-1);background:var(--field);color:var(--ink);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.day-timeline-block:after{content:"";width:max(100%,24px);position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.day-timeline-block.is-on{outline:2px solid var(--ink);outline-offset:1px;z-index:1}.day-timeline-block:focus-visible{outline:2px solid var(--accent);outline-offset:2px;z-index:1}.day-timeline-block.is-none,.day-bar-fill.is-none{border:var(--rule-w) dashed var(--muted);background:0 0}.day-timeline-hours{height:16px;font-size:var(--fs-4);color:var(--muted);margin-top:2px;position:relative}.day-timeline-hours span{position:absolute;transform:translate(-50%)}.day-timeline-hours span:first-child{transform:none}.day-timeline-hours span:last-child{transform:translate(-100%)}.day-timeline-tip{margin:var(--s-2) 0 0;min-height:2.6em;font-size:var(--fs-6);color:var(--ink);overflow-wrap:anywhere}.day-untimed{gap:var(--s-1);flex-direction:column;display:flex}.day-untimed-toggle{font-size:var(--fs-6);align-self:flex-start;padding-left:0}.day-untimed-head{font-size:var(--fs-6);color:var(--muted);margin:0}.day-swatch{flex:none;align-self:center;width:10px;height:10px}.day-swatch.is-none{border:var(--rule-w) dashed var(--muted);box-sizing:border-box}.day-bars{gap:var(--s-1);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.day-bar{align-items:center;gap:var(--s-2);grid-template-columns:minmax(80px,180px) 1fr auto;display:grid}.day-bar-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.day-bar-track{background:color-mix(in srgb, var(--rule) 50%, transparent);height:12px}.day-bar-fill{box-sizing:border-box;height:100%;display:block}.day-bar-value{text-align:right;min-width:7ch}.day-list{margin:0;padding:0;list-style:none}.day-list-row{align-items:baseline;gap:var(--s-2);min-height:var(--row-list);padding:var(--s-1) 0;border-bottom:var(--rule-w) solid var(--rule);display:flex}.day-list-stack{flex-direction:column;align-items:stretch;gap:2px}.day-list-time{width:5ch;color:var(--muted);flex:none}.day-list-title{overflow-wrap:anywhere;min-width:0;color:var(--ink);flex:1}.day-list-meta,.day-list-sub{font-size:var(--fs-6);flex:none}.day-list-sub{overflow-wrap:anywhere}.day-tag{width:10ch;font-size:var(--fs-4);font-variant:all-small-caps;letter-spacing:var(--track-label);color:var(--muted);flex:none}.day-tag-done{color:var(--good-text)}.day-journal{font-family:var(--font-serif);white-space:pre-line;margin:0;line-height:1.5}@media (width<=720px),(pointer:coarse){.day-timeline{--lane-h:50px}}@media (width<=720px){.day-review{padding:var(--s-2) var(--s-4) calc(var(--bottom-bar-safe) + var(--s-4))}.day-review-date{display:none}.day-review-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.day-review-stats .lrn-stat,.day-review-stats .lrn-stat:nth-child(3),.day-review-stats .lrn-stat:nth-child(5){order:0;grid-column:auto}.day-review-stats .lrn-stat-value{font-size:var(--fs-8)}.day-bar{grid-template-columns:minmax(64px,110px) 1fr auto}}
