:root{--bg: #f4f1ea;--surface: #fffdf8;--sunk: #ece8de;--ink: #1b1f1c;--mute: #5c605a;--line: #e2ddd1;--line-strong: #cfc8b8;--acc: #1d5c43;--acc-text: #1d5c43;--on-acc: #ffffff;--acc-soft: #dde9e1;--red: #a8261d;--red-soft: #f6e1dd;--shadow: 0 1px 2px rgb(40 34 20 / 6%), 0 6px 18px -8px rgb(40 34 20 / 14%);--ring: 0 0 0 3px color-mix(in srgb, var(--acc) 35%, transparent);--serif: "Fraunces", Georgia, "Times New Roman", serif;--sans: "Instrument Sans", -apple-system, system-ui, "Segoe UI", Roboto, sans-serif;--mono: ui-monospace, "SF Mono", Menlo, monospace;--ease-out: cubic-bezier(.23, 1, .32, 1);--nav-h: 64px;color-scheme:light}@media (prefers-color-scheme: dark){:root{--bg: #121412;--surface: #1a1d1a;--sunk: #0d0f0d;--ink: #ecebe4;--mute: #a3a69f;--line: #2a2e2a;--line-strong: #3b403b;--acc: #7ad3a3;--acc-text: #8fdcb2;--on-acc: #0b1d14;--acc-soft: #1d3329;--red: #f28b7f;--red-soft: #3a1f1c;--shadow: 0 1px 2px rgb(0 0 0 / 40%), 0 8px 24px -12px rgb(0 0 0 / 60%);color-scheme:dark}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.5 var(--sans);-webkit-font-smoothing:antialiased;caret-color:var(--acc);overflow-x:hidden}::selection{background:var(--acc-soft);color:var(--ink)}:focus-visible{outline:2px solid var(--acc);outline-offset:2px;border-radius:6px}a{color:var(--acc-text);text-underline-offset:3px;text-decoration-thickness:1px}a.mute{color:var(--mute)}h1,h2,h3{text-wrap:balance}.wrap{max-width:560px;margin:0 auto;padding:0 16px calc(var(--nav-h) + 32px + env(safe-area-inset-bottom))}.top{display:flex;justify-content:space-between;align-items:center;padding:16px 0 8px}.brand{font:600 22px/1 var(--serif);letter-spacing:-.01em;color:var(--ink);margin:0;text-decoration:none}.tabs{position:fixed;left:0;right:0;bottom:0;z-index:10;display:flex;justify-content:space-around;padding:6px 8px calc(6px + env(safe-area-inset-bottom));background:color-mix(in srgb,var(--surface) 92%,transparent);backdrop-filter:saturate(1.4) blur(12px);-webkit-backdrop-filter:saturate(1.4) blur(12px);border-top:1px solid var(--line)}.tabs a{flex:1;max-width:120px;display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 0;min-height:48px;font-size:12px;font-weight:500;color:var(--mute);text-decoration:none;border-radius:10px;transition:color .15s var(--ease-out)}.tabs a svg{width:22px;height:22px}.tabs a.on{color:var(--acc-text)}@media (min-width: 720px){.wrap{padding-bottom:48px}.top{padding:24px 0 16px}.tabs{position:static;background:none;backdrop-filter:none;-webkit-backdrop-filter:none;border:0;padding:0;gap:4px}.tabs a{flex-direction:row;gap:6px;font-size:15px;padding:8px 12px;min-height:0}.tabs a svg{width:18px;height:18px}.tabs a:hover{color:var(--ink)}.tabs a.on{background:var(--acc-soft)}}.page-head{margin:16px 0}.page-head h1{font:600 30px/1.1 var(--serif);letter-spacing:-.02em;margin:0}.page-head p{margin:4px 0 0;color:var(--mute)}.card{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:16px;margin-bottom:16px;box-shadow:var(--shadow)}.section{margin-top:28px}.section-head{display:flex;align-items:baseline;justify-content:space-between;margin:0 4px 8px}h2{font:600 18px/1.25 var(--serif);letter-spacing:-.01em;margin:0;color:var(--ink)}.count{font-size:14px;color:var(--mute);font-variant-numeric:tabular-nums}.list{padding:4px 16px}.row-wrap{display:grid;grid-template-rows:1fr;transition:grid-template-rows .32s var(--ease-out) .18s,opacity .25s var(--ease-out) .18s}.row-wrap+.row-wrap .row{border-top:1px solid var(--line)}.row-wrap>.row{min-height:0;overflow:hidden}.row-wrap.leaving{grid-template-rows:0fr;opacity:0}.row-wrap.snoozing .row-body{transform:translate(24px);opacity:0}.row{display:flex;align-items:center;gap:12px;padding:12px 0}.row-body{flex:1;min-width:0;transition:transform .3s var(--ease-out),opacity .3s var(--ease-out);overflow-wrap:anywhere}.row-title{transition:color .2s var(--ease-out)}.meta{font-size:14px;color:var(--mute);margin-top:2px;font-variant-numeric:tabular-nums}.meta.red{color:var(--red);font-weight:500}.quote{font-size:14px;color:var(--mute);margin-top:2px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.acts{display:flex;gap:4px;flex-shrink:0;align-items:center}.check{flex-shrink:0;width:44px;height:44px;margin:-6px -6px -6px -10px;padding:0;display:grid;place-items:center;background:none;border:0;cursor:pointer;color:var(--on-acc)}.check span{width:24px;height:24px;border-radius:50%;border:2px solid var(--line-strong);display:grid;place-items:center;background:transparent;transition:background .2s var(--ease-out),border-color .2s var(--ease-out),transform .16s var(--ease-out)}.check svg{width:14px;height:14px;stroke-dasharray:20;stroke-dashoffset:20;transition:stroke-dashoffset .28s var(--ease-out) .05s}.check:hover span{border-color:var(--acc)}.check:active span{transform:scale(.88)}.check.on span,.row-wrap.leaving .check span{background:var(--acc);border-color:var(--acc)}.check.on svg,.row-wrap.leaving .check svg{stroke-dashoffset:0}.check.static{cursor:default}.row-wrap.leaving .row-title{color:var(--mute);text-decoration:line-through;text-decoration-color:var(--line-strong)}button,.btn{font:600 15px/1 var(--sans);background:var(--acc);color:var(--on-acc);border:0;border-radius:12px;min-height:44px;padding:0 18px;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:6px;transition:transform .14s var(--ease-out),background .15s var(--ease-out),opacity .15s;-webkit-tap-highlight-color:transparent}button:active,.btn:active{transform:scale(.97)}button:disabled{opacity:.55;cursor:default;transform:none}button.ghost,.btn.ghost{background:transparent;color:var(--mute);border:1px solid var(--line);min-height:36px;padding:0 12px;font-weight:500;font-size:14px;border-radius:10px}button.ghost:hover{color:var(--ink);border-color:var(--line-strong)}button.ghost.red{color:var(--red);border-color:color-mix(in srgb,var(--red) 35%,transparent)}button.ghost.red:hover{background:var(--red-soft)}button.icon{width:36px;padding:0;border-color:transparent}button.icon svg{width:18px;height:18px}button.icon:hover{border-color:var(--line)}input,select{font:16px/1.3 var(--sans);min-height:44px;padding:0 12px;width:100%;border:1px solid var(--line-strong);border-radius:12px;background:var(--surface);color:var(--ink);transition:border-color .15s,box-shadow .15s}input::placeholder{color:var(--mute);opacity:1}input:focus,select:focus{outline:none;border-color:var(--acc);box-shadow:var(--ring)}.add{display:flex;gap:8px}.add input,.add select{flex:1;min-width:0}.quick{display:flex;gap:8px;padding:8px;border-radius:16px}.quick input{border:0;background:transparent;box-shadow:none}.quick input:focus{box-shadow:none}.quick:focus-within{border-color:var(--acc);box-shadow:var(--shadow),var(--ring)}.quick button.added{animation:pop .35s var(--ease-out)}@keyframes pop{40%{transform:scale(1.06)}}.seg{display:inline-flex;background:var(--sunk);border-radius:12px;padding:3px;margin:4px 0 12px}.seg a{padding:7px 16px;border-radius:9px;font-size:14px;font-weight:500;color:var(--mute);text-decoration:none;transition:background .15s,color .15s}.seg a.on{background:var(--surface);color:var(--ink);box-shadow:0 1px 2px #0000001a}.empty{padding:20px 4px;text-align:center;color:var(--mute)}.empty svg{width:28px;height:28px;color:var(--acc-text);opacity:.8;margin-bottom:6px}.empty strong{display:block;color:var(--ink);font-weight:600;margin-bottom:2px}.empty p{margin:0;font-size:14px}.mute{color:var(--mute)}.red{color:var(--red)}.ok{color:var(--acc-text);font-weight:500}.small{font-size:14px}.login{min-height:100svh;display:flex;flex-direction:column;justify-content:center;padding:48px 0;max-width:400px;margin:0 auto}.login .brand{font-size:56px;letter-spacing:-.03em}.login .lede{font:500 22px/1.3 var(--serif);letter-spacing:-.01em;margin:12px 0 28px;max-width:18ch}.bubble{position:relative;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:18px 18px 18px 6px;padding:12px 14px;font-size:15px;margin-bottom:32px;max-width:320px;animation:rise .6s var(--ease-out) .1s both}.bubble .from{font-size:13px;font-weight:600;color:var(--acc-text);margin-bottom:4px}.bubble ul{margin:6px 0 0;padding-left:18px}.bubble .time{font-size:12px;color:var(--mute);text-align:right;margin-top:4px;font-variant-numeric:tabular-nums}@keyframes rise{0%{opacity:0;transform:translateY(8px);filter:blur(2px)}}.gsi{min-height:44px}.fine{font-size:13px;color:var(--mute);margin-top:16px}.steps{list-style:none;padding:0;margin:0}.step{position:relative;display:grid;grid-template-columns:32px 1fr;gap:12px}.step-dot{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font:600 14px/1 var(--sans);font-variant-numeric:tabular-nums;background:var(--surface);border:1.5px solid var(--line-strong);color:var(--mute);transition:background .3s var(--ease-out),border-color .3s var(--ease-out),color .3s}.step-dot svg{width:16px;height:16px}.step.current .step-dot{border-color:var(--acc);color:var(--acc-text)}.step.done .step-dot{background:var(--acc);border-color:var(--acc);color:var(--on-acc)}.step:not(:last-child):before{content:"";position:absolute;left:15px;top:36px;bottom:-12px;width:2px;background:var(--line)}.step.done:not(:last-child):before{background:var(--acc);opacity:.5}.step-body{padding-bottom:28px;min-width:0}.step-body h3{font:600 19px/1.25 var(--serif);letter-spacing:-.01em;margin:4px 0}.step-body>p{margin:0 0 12px}.step.later .step-body h3{color:var(--mute)}.path{font-size:14px;color:var(--mute)}.path b{color:var(--ink);font-weight:600}.qr{width:232px;max-width:100%;aspect-ratio:1;height:auto;background:#fff;border-radius:14px;display:block;margin:4px 0 8px;padding:8px;border:1px solid var(--line)}.status{display:inline-flex;align-items:center;gap:8px;font-size:14px;color:var(--mute)}.status:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--line-strong)}.status.live:before{background:var(--acc);animation:pulse 1.6s ease-in-out infinite}.status.good{color:var(--acc-text);font-weight:500}.status.good:before{background:var(--acc)}@keyframes pulse{50%{opacity:.35}}details{margin-top:12px}summary{cursor:pointer;font-size:14px;color:var(--mute);list-style:none;display:inline-flex;align-items:center;gap:4px;min-height:32px}summary::-webkit-details-marker{display:none}summary:after{content:"";width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px);margin-left:4px;transition:transform .2s var(--ease-out)}details[open] summary:after{transform:rotate(225deg) translate(-2px)}.howto{margin:0 0 12px;padding-left:20px;color:var(--mute)}.howto li{margin-bottom:4px}.howto b{color:var(--ink);font-weight:600;font-variant-numeric:tabular-nums}.code{font:600 26px/1 var(--mono);letter-spacing:.12em;font-variant-numeric:tabular-nums;display:inline-block;padding:14px 18px;margin:4px 0 12px;border-radius:12px;background:var(--sunk);border:1px dashed var(--line-strong);color:var(--ink);-webkit-user-select:all;user-select:all}.code:empty{display:none}.set-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0}.set-row+.set-row{border-top:1px solid var(--line)}.card>h2{margin-bottom:4px}.danger{margin-top:16px;padding-top:16px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;transition-delay:0s!important}}.slot{flex:none;align-self:flex-start;margin-top:2px;min-width:30px;padding:3px 6px;border-radius:8px;font:600 12px/1.2 var(--mono);text-align:center;color:var(--acc-text);background:var(--acc-soft)}.quote .by{font-style:normal;color:var(--mute);opacity:.8;white-space:nowrap}.badge{display:inline-block;margin-top:6px;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:500;color:var(--acc-text);background:var(--acc-soft);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
