@font-face{font-family:Jakarta;src:url(/fonts/plus-jakarta-sans.woff2)format("woff2-variations");font-weight:200 800;font-style:normal;font-display:swap}:root{--page:#f4f1ea;--surface:#fff;--ink:#1b1a17;--ink-2:#6b6558;--ink-3:#9a9384;--hairline:#e3ded2;--nav:#201d18;--danger:#c0392b;--sans:"Jakarta", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--radius:24px;--shell:520px;--bg:#b9a7f5;--on-bg:#241245;--deep:#4a2a9e;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.thing,.tile,.qcard,.sheet{--pill:color-mix(in srgb, var(--bg) 14%, #fff);--pill-2:color-mix(in srgb, var(--bg) 52%, #fff);--tint:color-mix(in srgb, var(--bg) 30%, var(--surface));--tint-strong:color-mix(in srgb, var(--bg) 55%, var(--surface));--on-tint:var(--deep);--mark:var(--deep)}@media (prefers-color-scheme:dark){.thing,.tile,.qcard,.sheet{--tint:color-mix(in srgb, var(--bg) 15%, var(--surface));--tint-strong:color-mix(in srgb, var(--bg) 28%, var(--surface));--on-tint:color-mix(in srgb, var(--bg) 84%, #fff);--mark:color-mix(in srgb, var(--bg) 78%, #fff)}:root{--page:#131210;--surface:#1d1b17;--ink:#f3efe6;--ink-2:#a49d8e;--ink-3:#756f63;--hairline:#2c2822;--nav:#080706;--danger:#e8705f;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html,body{background:var(--page);overscroll-behavior-y:none;margin:0}body{color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;font-size:16px;font-weight:500;line-height:1.45}button,input{font:inherit;color:inherit}button{cursor:pointer;color:inherit;background:0 0;border:none;padding:0}a{color:inherit;text-decoration:none}.app{width:100%;max-width:var(--shell);min-height:100dvh;margin:0 auto}.boot{background:var(--page);min-height:100dvh}.screen{padding:max(22px, env(safe-area-inset-top)) 18px 132px}.banner{background:color-mix(in srgb, var(--danger) 14%, var(--surface));color:var(--danger);border-radius:14px;margin:0 0 14px;padding:12px 16px;font-size:14px;font-weight:600}.head{margin-bottom:18px}.eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin:0;font-size:12.5px;font-weight:700}.display{letter-spacing:-.035em;margin:2px 0 0;font-size:42px;font-weight:800;line-height:1.02}.head-sub{color:var(--ink-2);margin:6px 0 0;font-size:15px;font-weight:600}.strip{gap:6px;margin-bottom:20px;display:flex}.strip-day{color:var(--ink-3);border-radius:16px;flex-direction:column;flex:1;align-items:center;gap:2px;padding:9px 0 10px;display:flex}.strip-letter{letter-spacing:.04em;font-size:11px;font-weight:700}.strip-num{font-size:16px;font-weight:700}.strip-day.on{background:var(--ink);color:var(--page)}.tally{align-items:center;gap:6px;display:inline-flex}.tally-overflow{font-size:13px;font-weight:800}.ask-cta{background:var(--ink);color:var(--page);border-radius:20px;justify-content:center;align-items:center;gap:10px;margin-top:18px;padding:17px;font-size:17px;font-weight:700;display:flex}.ask-cta:active{transform:scale(.985)}.empty-card{border:2.5px dashed var(--hairline);border-radius:var(--radius);color:var(--ink-2);flex-direction:column;align-items:center;gap:8px;padding:44px 20px;font-weight:700;display:flex}.empty-plus{color:var(--ink-3);font-size:34px;font-weight:800;line-height:1}.nav{bottom:calc(18px + env(safe-area-inset-bottom));z-index:30;background:var(--nav);border-radius:999px;gap:4px;padding:7px;display:flex;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 10px 30px #00000047}.nav-tab{color:#8d8579;border-radius:999px;place-items:center;width:54px;height:48px;transition:background .16s,color .16s;display:grid}.nav-tab.active{background:var(--page);color:var(--ink)}.answer{flex-direction:column;min-height:calc(100dvh - 180px);display:flex}.answer-head{justify-content:space-between;align-items:baseline;display:flex}.answer-count{letter-spacing:-.02em;margin:0;font-size:22px;font-weight:800}.answer-count span{color:var(--ink-3);font-size:15px}.stack{flex:1;min-height:400px;margin-top:14px;position:relative}.qcard{background:var(--bg);color:var(--on-bg);border-radius:30px;padding:26px 24px 22px;position:absolute;inset:0}.qcard-behind{transform:translateY(calc(var(--depth) * 9px)) scale(calc(1 - var(--depth) * .035));opacity:calc(1 - var(--depth) * .25)}.qcard-live{touch-action:pan-y;will-change:transform;flex-direction:column;display:flex;box-shadow:0 12px 34px #00000029}.qcard-tag{background:var(--pill);color:var(--deep);letter-spacing:.02em;border-radius:999px;align-self:flex-start;padding:6px 13px;font-size:12.5px;font-weight:800}.qcard-body{flex-direction:column;flex:1;justify-content:center;min-height:0;display:flex}.qcard-question{letter-spacing:-.035em;margin:0;font-size:36px;font-weight:800;line-height:1.1}.qcard-identity{opacity:.72;margin:14px 0 0;font-size:17px;font-weight:600;line-height:1.35}.verdict{background:var(--pill);color:var(--deep);border-radius:999px;padding:7px 15px;font-size:14px;font-weight:800;position:absolute;top:22px;right:20px;transform:rotate(-7deg)}.counter{justify-content:space-between;align-items:center;gap:12px;margin-top:26px;display:flex}.counter-btn{background:var(--pill);width:58px;height:58px;color:var(--deep);border-radius:50%;place-items:center;font-size:30px;font-weight:700;line-height:1;display:grid}.counter-btn:active{transform:scale(.93)}.counter-mid{text-align:center;flex:1}.counter-number{letter-spacing:-.04em;font-size:68px;font-weight:800;line-height:1;display:block}.counter-unit{opacity:.65;margin-top:2px;font-size:13px;font-weight:700;display:block}.counter-mid .tally{opacity:.8;justify-content:center;margin-top:12px}.qcard-actions{gap:10px;margin-top:20px;display:flex}.qcard-actions button{flex:1}.btn-solid{background:var(--pill);color:var(--deep);border-radius:18px;padding:16px;font-size:17px;font-weight:800}.btn-ghost{background:color-mix(in srgb, var(--on-bg) 12%, transparent);color:var(--on-bg);border-radius:18px;padding:16px;font-size:17px;font-weight:700}.btn-solid:disabled,.btn-ghost:disabled{opacity:.5}.qcard-hint{text-align:center;opacity:.55;margin:12px 0 0;font-size:12px;font-weight:700}.answer-skip{text-align:center;color:var(--ink-3);margin-top:16px;font-size:14px;font-weight:700;display:block}.done{text-align:center;padding:70px 0 0}.done-badge{color:#fff;background:#1e8c50;border-radius:50%;place-items:center;width:78px;height:78px;margin:0 auto 22px;font-size:38px;font-weight:800;display:grid}.history{flex-direction:column;gap:14px;display:flex}.tile{border-radius:var(--radius);background:var(--tint);padding:18px}.tile-head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.tile-name{letter-spacing:-.025em;margin:0;font-size:21px;font-weight:800}.tile-streak{color:var(--on-tint);opacity:.85;font-size:12px;font-weight:700}.tile-vow{color:var(--on-tint);opacity:.8;margin:8px 0 0;font-size:13.5px;font-weight:600;line-height:1.4}.grid-wrap{gap:6px;margin-top:14px;display:flex}.grid-days{color:var(--ink-3);grid-template-rows:repeat(7,1fr);gap:3px;font-size:8.5px;font-weight:700;line-height:13px;display:grid}.grid{flex:1;grid-template-columns:repeat(14,1fr);gap:3px;display:grid}.grid-col{grid-template-rows:repeat(7,1fr);gap:3px;display:grid}.cell{border-radius:4px;height:13px;display:block}.cell-blank{box-shadow:inset 0 0 0 1.5px color-mix(in srgb, var(--mark) 20%, transparent)}.cell-future{background:0 0}.cell-good{background:var(--mark)}.cell-miss{background:color-mix(in srgb, var(--mark) 26%, transparent)}.grid-months{color:var(--ink-3);justify-content:space-between;margin-top:7px;padding-left:12px;font-size:10px;font-weight:700;display:flex}.stats{gap:20px;margin-top:16px;display:flex}.stat{flex-direction:column;gap:1px;display:flex}.stat-label{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);font-size:10.5px;font-weight:700}.stat-value{letter-spacing:-.02em;font-size:23px;font-weight:800}.stat-value em{color:var(--ink-3);font-size:12px;font-style:normal;font-weight:700}.stat-value.up{color:#1e8c50}.stat-value.down{color:var(--danger)}.tiles{grid-template-columns:1fr 1fr;gap:12px;margin:0;padding:0;list-style:none;display:grid}.thing{background:var(--bg);color:var(--on-bg);border-radius:22px;position:relative}.thing-open{text-align:left;width:100%;min-height:152px;color:inherit;flex-direction:column;padding:15px 15px 14px;display:flex}.thing-open:active{transform:scale(.98)}.thing-title{letter-spacing:-.02em;padding-right:22px;font-size:19px;font-weight:800;line-height:1.15}.thing-dir{opacity:.55}.thing-edit{width:30px;height:30px;color:var(--on-bg);opacity:.5;border-radius:50%;font-size:17px;line-height:1;position:absolute;top:8px;right:8px}.thing-edit:active{opacity:1;background:color-mix(in srgb, var(--on-bg) 12%, transparent)}.thing-state{align-items:center;min-height:44px;margin:12px 0;display:flex}.thing-meta{opacity:.72;flex-direction:column;margin-top:auto;font-size:11.5px;font-weight:600;line-height:1.4;display:flex}.thing-identity{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.thing-count{flex-direction:column;gap:3px;display:flex}.thing-number{letter-spacing:-.03em;font-size:30px;font-weight:800;line-height:1}.thing-count .tally{opacity:.75}.mark{border-radius:50%;place-items:center;width:44px;height:44px;display:grid}.mark-open{border:2.5px dashed color-mix(in srgb, var(--on-bg) 38%, transparent)}.mark-yes{background:var(--pill);color:var(--deep)}.mark-no{background:color-mix(in srgb, var(--on-bg) 14%, transparent);color:color-mix(in srgb, var(--on-bg) 55%, transparent)}.thing-add{border:2.5px dashed var(--hairline);background:0 0}.thing-add .thing-open{color:var(--ink-2);justify-content:center;align-items:center;gap:6px}.thing-plus{color:var(--ink-3);font-size:32px;font-weight:800;line-height:1}.sheet-backdrop{z-index:60;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0c0a0880;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{width:min(var(--shell), 100%);max-height:92dvh;padding:12px 20px calc(24px + env(safe-area-inset-bottom));background:var(--bg);color:var(--on-bg);border-radius:30px 30px 0 0;animation:.26s cubic-bezier(.2,0,.2,1) lift;overflow-y:auto}@keyframes lift{0%{transform:translateY(24px)}}@media (prefers-reduced-motion:reduce){.sheet{animation:none}}.sheet-grab{background:color-mix(in srgb, var(--on-bg) 25%, transparent);border-radius:3px;width:42px;height:5px;margin:0 auto 14px}.sheet-title{letter-spacing:-.03em;margin:0 0 20px;font-size:27px;font-weight:800}.vow{background:color-mix(in srgb, var(--on-bg) 9%, transparent);border-radius:18px;margin-bottom:16px;padding:14px 14px 4px}.vow .field:last-of-type{margin-bottom:10px}.vow-note{opacity:.7;margin:0 0 12px;font-size:12.5px;font-weight:600;line-height:1.4}.field{margin-bottom:16px;display:block}.field-row{align-items:flex-end;gap:10px;display:flex}.field-row .field{flex:1}.narrow{max-width:88px}.label{letter-spacing:.09em;text-transform:uppercase;opacity:.68;margin-bottom:6px;font-size:11px;font-weight:800;display:block}.label em{text-transform:none;letter-spacing:.02em;font-style:normal;font-weight:600}.input{background:var(--pill);width:100%;color:var(--deep);border:none;border-radius:14px;padding:13px 14px;font-size:16px;font-weight:700}.input::placeholder{color:color-mix(in srgb, var(--deep) 45%, transparent)}.input:focus{outline:2.5px solid color-mix(in srgb, var(--on-bg) 45%, transparent);outline-offset:1px}.input-time{width:auto}.seg{gap:6px;display:flex}.seg button{background:var(--pill-2);color:var(--deep);border-radius:14px;flex:1;padding:12px 8px;font-size:14.5px;font-weight:700}.seg button.on{background:var(--deep);color:var(--pill)}.sched{background:color-mix(in srgb, var(--on-bg) 8%, transparent);border-radius:16px;margin-bottom:10px;padding:12px}.sched-top{align-items:center;gap:10px;display:flex}.sched-days{opacity:.7;flex:1;font-size:11.5px;font-weight:700}.sched-x{opacity:.6;border-radius:50%;width:30px;height:30px;font-size:19px;font-weight:700}.daypicker{gap:5px;margin-top:10px;display:flex}.daypicker button{background:var(--pill-2);height:34px;color:var(--deep);border-radius:11px;flex:1;font-size:12px;font-weight:800}.daypicker button.on{background:var(--deep);color:var(--pill)}.add-time{opacity:.8;font-size:13px;font-weight:800}.note{opacity:.75;margin:8px 0 0;font-size:13.5px;font-weight:600}.swatches{flex-wrap:wrap;gap:9px;display:flex}.swatch{border-radius:50%;width:36px;height:36px;transition:transform .14s;box-shadow:inset 0 0 0 1px #0000001f}.swatch.on{box-shadow:0 0 0 3px var(--bg), 0 0 0 6px var(--on-bg);transform:scale(1.1)}.sheet-actions{align-items:center;gap:10px;margin-top:22px;display:flex}.spacer{flex:1}.sheet-actions .btn-solid,.sheet-actions .btn-ghost{flex:none;padding:14px 22px;font-size:16px}.btn-danger{color:var(--on-bg);opacity:.7;padding:14px 4px;font-size:15px;font-weight:700}.settings{flex-direction:column;gap:14px;display:flex}.panel{border-radius:var(--radius);background:var(--surface);padding:18px}.callout{background:color-mix(in srgb, #f6de72 45%, var(--surface));color:var(--ink);border-radius:16px;padding:14px 16px;font-size:14.5px;font-weight:600;line-height:1.45}.btn-big{background:var(--ink);width:100%;color:var(--page);border-radius:18px;padding:16px;font-size:16.5px;font-weight:800}.btn-big:disabled{opacity:.5}.row{gap:10px;margin-top:10px;display:flex}.row .btn-ghost{background:color-mix(in srgb, var(--ink) 8%, transparent);color:var(--ink);flex:1;padding:13px;font-size:15px}.settings .note{color:var(--ink-2);opacity:1}code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.88em}.gate{min-height:100dvh;max-width:var(--shell);flex-direction:column;justify-content:center;margin:0 auto;padding:28px;display:flex}.gate-fan{gap:7px;margin-bottom:30px;display:flex}.gate-fan span{width:42px;height:58px;transform:rotate(calc((var(--i) - 2) * 5deg)) translateY(calc(abs(var(--i) - 2) * 4px));border-radius:12px}.gate-title{letter-spacing:-.045em;margin:0;font-size:52px;font-weight:800;line-height:1}.gate-sub{color:var(--ink-2);margin:8px 0 28px;font-size:17px;font-weight:600}.gate-form{flex-direction:column;gap:10px;display:flex}.gate .input{background:var(--surface);color:var(--ink)}.gate .input::placeholder{color:var(--ink-3)}.gate .btn-solid{background:var(--ink);color:var(--page)}.gate-action{text-align:center;background:var(--ink);color:var(--page);display:inline-block}.gate-note{background:var(--surface);color:var(--ink-2);border-radius:14px;margin:14px 0 0;padding:13px 15px;font-size:13.5px;font-weight:600;line-height:1.5}@media (width>=560px){.screen{padding-left:24px;padding-right:24px}}
