@font-face{font-family:Young Serif;src:url(/fonts/young-serif-latin.woff2)format("woff2");font-display:swap;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:Young Serif;src:url(/fonts/young-serif-latin-ext.woff2)format("woff2");font-display:swap;unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Figtree;src:url(/fonts/figtree-latin.woff2)format("woff2");font-weight:300 900;font-display:swap;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:Figtree;src:url(/fonts/figtree-latin-ext.woff2)format("woff2");font-weight:300 900;font-display:swap;unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;src:url(/fonts/plex-mono-latin.woff2)format("woff2");font-weight:500;font-display:swap;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:IBM Plex Mono;src:url(/fonts/plex-mono-latin-ext.woff2)format("woff2");font-weight:500;font-display:swap;unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f5f3f6;--surface:#fff;--ink:#24202b;--muted:#655e6f;--line:#e5e0e8;--accent:#b8336a;--accent-soft:#f9e4ec;--on-accent:#fff;--good:#2e8a62;--soon:#c4860f;--late:#d6493e;--good-text:#257050;--soon-text:#8a5a00;--late-text:#b4352b;--scrim:#100c1480;--display:"Young Serif", Georgia, "Times New Roman", serif;--body:"Figtree", -apple-system, "Segoe UI", system-ui, sans-serif;--mono:"IBM Plex Mono", ui-monospace, Menlo, monospace}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#15131a;--surface:#201d26;--ink:#efecf3;--muted:#a59fb0;--line:#332f3c;--accent:#ee6c9c;--accent-soft:#3c2231;--on-accent:#1a1016;--good:#5cc495;--soon:#e5b049;--late:#f3786f;--good-text:#5cc495;--soon-text:#e5b049;--late-text:#f3786f;--scrim:#0009}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;background:var(--bg)}body{background:var(--bg);color:var(--ink);font-family:var(--body);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;margin:0;font-size:15px;line-height:1.45}button,input,select,textarea{font:inherit;color:inherit}input,select,textarea{font-size:max(16px,1rem)}button{cursor:pointer}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.app{max-width:480px;padding:calc(14px + env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) calc(110px + env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));flex-direction:column;gap:18px;margin:0 auto;display:flex}.top{justify-content:space-between;align-items:center;gap:12px;display:flex}.top-actions{align-items:center;gap:4px;display:flex}.brand-ring{fill:none;stroke:var(--accent);stroke-width:2px}.brand-centre{fill:var(--ink)}.brand-planet{fill:var(--accent)}.status-line{margin:-6px 0 0;font-size:14px;font-weight:700}.brand{font-family:var(--display);align-items:center;gap:8px;margin:0;font-size:22px;font-weight:400;display:flex}h1{font-family:var(--display);text-wrap:balance;margin:0;font-size:30px;font-weight:400;line-height:1.1}h2{letter-spacing:.09em;text-transform:uppercase;color:var(--muted);margin:0;font-size:12.5px;font-weight:700}.note{color:var(--muted);margin:0;font-size:13px}.section{flex-direction:column;gap:10px;display:flex}.btn{background:var(--accent);color:var(--on-accent);border:0;border-radius:999px;padding:9px 16px;font-weight:700}.btn.ghost{border:1.5px solid var(--line);color:var(--ink);background:0 0}.btn.small{padding:6px 12px;font-size:13px}.btn.danger{background:var(--late-text);color:var(--on-accent)}.btn:disabled{opacity:.55;cursor:default}.icon-button{width:40px;height:40px;color:var(--muted);background:0 0;border:0;border-radius:50%;place-items:center;display:inline-grid}.back{color:var(--muted);background:0 0;border:0;align-self:flex-start;padding:4px 0;font-weight:700}.link{color:var(--muted);background:0 0;border:0;align-self:flex-start;padding:0;font-size:13px;text-decoration:underline}.empty{text-align:center;color:var(--muted);background:var(--surface);border:1.5px dashed var(--line);border-radius:16px;padding:18px}.welcome{text-align:center;flex-direction:column;align-items:center;gap:12px;padding:24px 8px 0;display:flex}.alert{background:var(--accent-soft);color:var(--ink);border-radius:14px;margin:0;padding:12px 14px}.update-banner{top:calc(8px + env(safe-area-inset-top));z-index:30;background:var(--accent-soft);color:var(--ink);border-radius:14px;justify-content:space-between;align-items:center;gap:12px;padding:8px 8px 8px 14px;font-weight:700;display:flex;position:sticky}.orbit-wrap{background:var(--surface);border:1.5px solid var(--line);border-radius:20px;flex-direction:column;gap:8px;padding:12px 12px 14px;display:flex}.orbit{width:100%;height:auto;display:block}.ring{fill:none}.ring-late{stroke:var(--late);stroke-opacity:.35;stroke-dasharray:3 5}.ring-soon{stroke:var(--soon);stroke-opacity:.45}.ring-good{fill:var(--good);fill-opacity:.07;stroke:var(--good);stroke-opacity:.45}.orbit-you{fill:var(--accent)}.orbit-you-label,.dot-label{font-family:var(--body);font-size:12.5px;font-weight:700}.orbit-you-label{fill:var(--on-accent)}.dot{fill:var(--surface);stroke-width:2.5px}.dot-good{stroke:var(--good)}.dot-soon{stroke:var(--soon)}.dot-late{stroke:var(--late)}.dot-label{fill:var(--ink);pointer-events:none}.orbit .pdot{cursor:pointer}.orbit .pdot:hover circle,.orbit .pdot:focus-visible circle{stroke-width:3.5px}.orbit .pdot:focus-visible{outline:none}.legend{color:var(--muted);flex-wrap:wrap;justify-content:center;gap:14px;font-size:12.5px;display:flex}.legend span{align-items:center;gap:6px;display:inline-flex}.sw{border-radius:50%;width:9px;height:9px;display:inline-block}.bg-good{background:var(--good)}.bg-soon{background:var(--soon)}.bg-late{background:var(--late)}.cards{flex-direction:column;gap:10px;display:flex}.pcard{background:var(--surface);border:1.5px solid var(--line);border-radius:16px;flex-direction:column;gap:10px;padding:14px;display:flex}.pcard-head{text-align:left;background:0 0;border:0;align-items:center;gap:12px;width:100%;padding:0;display:flex}.av{width:42px;height:42px;font-family:var(--display);background:var(--accent-soft);color:var(--ink);border:2.5px solid var(--line);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:17px;display:flex}.av.good{border-color:var(--good)}.av.soon{border-color:var(--soon)}.av.late{border-color:var(--late)}.av.big{width:64px;height:64px;font-size:26px}.pcard-main{flex-direction:column;flex:1;min-width:0;display:flex}.pname{font-size:16px;font-weight:700}.prel{color:var(--muted);font-size:13px}.since{font-family:var(--mono);text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;font-size:12.5px;font-weight:500}.since b{font-size:18px;font-weight:500;display:block}.good-text{color:var(--good-text)}.soon-text{color:var(--soon-text)}.late-text{color:var(--late-text)}.ask{background:var(--accent-soft);border-radius:10px;padding:8px 10px;font-size:13.5px}.search{border:1.5px solid var(--line);background:var(--surface);border-radius:12px;width:100%;padding:10px 12px}.plist{background:var(--surface);border:1.5px solid var(--line);border-radius:16px;overflow:hidden}.prow{border:0;border-top:1px solid var(--line);text-align:left;background:0 0;align-items:center;gap:12px;width:100%;padding:10px 12px;display:flex}.prow:first-child,.swipe:first-child .prow{border-top:0}.swipe{position:relative;overflow:hidden}.swipe-delete{background:var(--late-text);width:88px;color:var(--on-accent);border:0;font-weight:700;position:absolute;top:0;bottom:0;right:0}.swipe-front{z-index:1;background:var(--surface);touch-action:pan-y;transition:transform .2s;position:relative}.swipe-front.dragging{transition:none}.toast{left:50%;bottom:calc(80px + env(safe-area-inset-bottom));z-index:30;background:var(--ink);color:var(--bg);white-space:nowrap;border-radius:999px;align-items:center;gap:14px;padding:8px 8px 8px 18px;font-size:14px;font-weight:700;display:flex;position:fixed;transform:translate(-50%)}.toast button{background:var(--bg);color:var(--ink);border:0;border-radius:999px;padding:6px 14px;font-weight:700}.prow .av{width:36px;height:36px;font-size:15px}.phead{align-items:center;gap:14px;display:flex}.stats{grid-template-columns:minmax(0,.8fr) minmax(0,1.6fr) minmax(0,.9fr);gap:8px;display:grid}.stat{background:var(--surface);border:1.5px solid var(--line);border-radius:12px;flex-direction:column;gap:2px;min-width:0;padding:10px;display:flex}.stat b{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:17px;font-weight:500}.stat span{color:var(--muted);font-size:12px}.stat select{background:0 0;border:0;width:100%;margin-left:-2px;padding:0;font-weight:700}.actions{flex-wrap:wrap;gap:8px;display:flex}.sheet-backdrop{z-index:20;background:var(--scrim);justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{background:var(--bg);width:100%;max-width:480px;max-height:92%;padding:18px max(16px, env(safe-area-inset-right)) calc(18px + env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));border-radius:20px 20px 0 0;flex-direction:column;gap:14px;display:flex;overflow:auto}.sheet-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.sheet-title{font-family:var(--display);text-transform:none;letter-spacing:normal;color:var(--ink);margin:0;font-size:26px;font-weight:400;line-height:1.1}.sheet form{flex-direction:column;gap:14px;display:flex}.field{flex-direction:column;gap:6px;display:flex}.field label,.field .lbl{color:var(--muted);font-size:13px;font-weight:700}.field input,.field textarea,.field select{border:1.5px solid var(--line);background:var(--surface);border-radius:10px;width:100%;padding:10px 12px}.field textarea{resize:vertical;min-height:70px}.row{flex-wrap:wrap;gap:10px;display:flex}.row>*{flex:140px}.checkrow{align-items:center;gap:8px;font-size:14px;display:flex}.checkrow input{width:18px;height:18px;accent-color:var(--accent)}.error{color:var(--late-text);margin:0;font-size:14px}.group-row{align-items:center;gap:8px;display:flex}.group-row input{border:1.5px solid var(--line);background:var(--surface);border-radius:10px;flex:1;min-width:0;padding:9px 12px}.build-stamp{color:var(--muted);font-family:var(--mono);margin:0;font-size:12.5px}.paste-preview,.paste-problems{flex-direction:column;gap:4px;margin:0;padding:0;font-size:14px;list-style:none;display:flex}.paste-preview{border:1.5px solid var(--line);background:var(--surface);border-radius:10px;max-height:220px;padding:8px 10px;overflow-y:auto}.update-log{flex-direction:column;gap:4px;margin:0;padding:0;font-size:13px;list-style:none;display:flex}.tabs{z-index:5;background:var(--surface);border-top:1.5px solid var(--line);padding:0 max(16px, env(safe-area-inset-right)) env(safe-area-inset-bottom) max(16px, env(safe-area-inset-left));position:fixed;bottom:0;left:0;right:0}.tabs-in{grid-template-columns:repeat(2,1fr);max-width:480px;margin:0 auto;display:grid}.tabs button{color:var(--muted);background:0 0;border:0;flex-direction:column;align-items:center;gap:3px;padding:10px 0 12px;font-size:12px;font-weight:700;display:flex}.tabs button[aria-current=page]{color:var(--ink)}.tabs button[aria-current=page] svg{color:var(--accent)}.nudge{background:var(--surface);border:1.5px dashed var(--accent);border-radius:14px;flex-direction:column;gap:10px;padding:12px 14px;font-size:14px;display:flex}.chips{flex-wrap:wrap;gap:6px;display:flex}.toggle{border:1.5px solid var(--line);background:var(--surface);border-radius:999px;padding:6px 12px;font-size:13px;font-weight:700}.toggle[aria-pressed=true]{border-color:var(--ink);background:var(--ink);color:var(--bg)}fieldset.field{border:0;min-width:0;margin:0;padding:0}fieldset.field legend{margin-bottom:6px;padding:0}.facts{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.facts li{background:var(--surface);border:1.5px solid var(--line);border-radius:10px;align-items:center;gap:8px;min-height:44px;padding:4px 6px 4px 10px;display:flex}.fact-text{text-align:left;background:0 0;border:0;flex:1;min-width:0;padding:6px 0}.fact-edit{background:0 0;border:0;flex:1;min-width:0;padding:6px 0}.x{color:var(--muted);background:0 0;border:0;width:36px;height:36px;font-size:20px;line-height:1}.inline-add{gap:8px;display:flex}.inline-add input{border:1.5px solid var(--line);background:var(--surface);border-radius:10px;flex:1;min-width:0;padding:9px 12px}.timeline{border-left:2px solid var(--line);flex-direction:column;gap:14px;margin:0;padding:0 0 0 18px;list-style:none;display:flex}.timeline li{flex-direction:column;gap:2px;display:flex;position:relative}.timeline li:before{content:"";background:var(--surface);border:2.5px solid var(--accent);border-radius:50%;width:12px;height:12px;position:absolute;top:5px;left:-25px}.tl-meta{font-family:var(--mono);color:var(--muted);text-transform:uppercase;letter-spacing:.03em;align-items:center;gap:8px;font-size:12px;display:flex}.tl-edit{color:var(--muted);font-family:var(--body);text-transform:none;letter-spacing:normal;background:0 0;border:0;margin-left:auto;padding:4px 0;font-size:13px;text-decoration:underline}.bday{background:var(--surface);border:1.5px solid var(--line);text-align:left;border-radius:14px;align-items:center;gap:12px;width:100%;padding:10px 12px;display:flex}.bday .days{font-family:var(--mono);color:var(--muted);white-space:nowrap;margin-left:auto;font-size:13px;font-weight:500}.hit{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-style:italic;overflow:hidden}
