:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0e0e10;--surface:#1a1a1f;--surface-2:#26262d;--border:#2e2e36;--text:#f5f5f4;--text-muted:#a1a1aa;--accent:#f5a524;--accent-fill:#f5a524;--on-accent:#1a1204;--accent-soft:#f5a52424;--accent-line:#f5a52473;--group-0:#2a2012;--group-1:#122625;--group-2:#18202c;--group-3:#201d2c;--group-4:#2a1a1e;--group-5:#15271d;--group-6:#2a1e15;--group-7:#10262b;--danger:#f87171;--on-danger:#1c0707;--scrim:#0009;--tile-shadow:none;--tint-rest:14%;--tint-counted:28%;--ease-out:cubic-bezier(.2, .8, .2, 1);--font:-apple-system, "SF Pro Text", Roboto, "Segoe UI", system-ui, sans-serif}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#fafaf9;--surface:#fff;--surface-2:#f0efec;--border:#e2e0db;--text:#1c1917;--text-muted:#57534e;--accent:#b45309;--accent-fill:#f59e0b;--on-accent:#1a1204;--accent-soft:#f59e0b24;--accent-line:#b4530973;--group-0:#f7ede1;--group-1:#e2f0ee;--group-2:#e5ebf8;--group-3:#ede7f8;--group-4:#f8e4e7;--group-5:#e3f1e8;--group-6:#f8eae1;--group-7:#e2f0f2;--danger:#b91c1c;--on-danger:#fff;--scrim:#1c191766;--tile-shadow:0 1px 2px #0000000f;--tint-rest:12%;--tint-counted:24%}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%}.shell{flex-direction:column;max-width:440px;height:100%;margin:0 auto;display:flex}.pager{touch-action:pan-y pinch-zoom;flex:1;min-height:0;overflow:clip}.pager-track{height:100%;transition:transform .25s var(--ease-out);display:flex}.pager-track.dragging{transition:none}.pager-page{overscroll-behavior-y:contain;touch-action:pan-y pinch-zoom;flex:0 0 100%;min-width:0;height:100%;overflow-y:auto}.tab-bar{padding:.375rem .375rem calc(.375rem + env(safe-area-inset-bottom,0px));background:var(--surface);border-top:1px solid var(--border);grid-template-columns:repeat(4,1fr);gap:.25rem;display:grid}.tab{min-width:0;min-height:44px;color:var(--text-muted);background:0 0;border:0;border-radius:12px;justify-content:center;align-items:center;gap:.375rem;padding:0 .25rem;font-size:.8125rem;font-weight:600;transition:background-color .15s,color .15s;display:flex}.tab[aria-current=page]{background:var(--accent-soft);color:var(--accent)}.tab-icon{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:18px;height:18px}.tab-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}@media (width<=374px){.tab{gap:.25rem;font-size:.75rem}.tab-icon{width:16px;height:16px}}body{background:var(--bg);color:var(--text);font-family:var(--font);-webkit-tap-highlight-color:transparent;overscroll-behavior:none;margin:0;font-size:1rem}button{font:inherit;color:inherit;cursor:pointer}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.page{padding:calc(1.25rem + env(safe-area-inset-top,0px)) 1rem 1.5rem;flex-direction:column;gap:1.5rem;display:flex}.page-title{text-wrap:balance;margin:0;font-size:1.375rem;font-weight:700}.page-head{justify-content:space-between;align-items:baseline;gap:.75rem;display:flex}.page-sub{color:var(--text-muted);font-size:.8125rem}.page-empty{max-width:34ch;color:var(--text-muted);margin:0;line-height:1.5}.section{flex-direction:column;gap:.625rem;display:flex}.section-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);align-items:center;gap:.5rem;margin:0;font-size:.8125rem;font-weight:600;display:flex}.group-box{border:1px solid var(--border);background:var(--group-tint,transparent);border-radius:20px;flex-direction:column;gap:.375rem;padding:.375rem .5rem .5rem;display:flex;position:relative}.group-head{align-items:center;gap:.5rem;min-height:1rem;padding:0 .25rem;display:flex}.group-label{text-transform:uppercase;letter-spacing:.06em;min-width:0;color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;flex:1;margin:0;font-size:.6875rem;font-weight:600;line-height:1.2;overflow:hidden}.group-empty{color:var(--text-muted);margin:0;padding:.5rem .25rem;font-size:.875rem}.group-tools{align-items:center;margin:-.25rem -.25rem -.25rem 0;display:flex}.group-tool,.group-handle{width:40px;height:40px;color:var(--text-muted);background:0 0;border:0;border-radius:10px;place-items:center;padding:0;display:grid}.group-tool:disabled{opacity:.4}.group-tool .btn-icon{width:18px;height:18px}.group-handle{cursor:grab;touch-action:none}.group-handle .grip{fill:currentColor;width:20px;height:20px}.group-boxes{flex-direction:column;gap:1rem;display:flex}.group-boxes.reordering .group-box{transition:transform .15s var(--ease-out)}.group-boxes.reordering .group-box.dragging{z-index:2;transition:none;position:relative;box-shadow:0 8px 20px #0000004d}.group-box.dragging .group-handle{color:var(--accent);cursor:grabbing}.add-group{align-self:flex-start}.grid-new{padding:0 calc(.5rem + 1px)}.grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;display:grid}.tile{background:var(--surface);border:1px solid var(--border);box-shadow:var(--tile-shadow);transition:transform .16s var(--ease-out), background-color .16s;border-radius:16px;position:relative}.tile:has(.tile-add:active){transition-duration:80ms;transform:scale(.94)}.tile:not(.has-colour):has(.tile-add:active){background:var(--surface-2)}.tile.has-count{background:var(--accent-soft);border-color:var(--accent-line)}@property --tint{syntax:"<percentage>";inherits:false;initial-value:0%}.tile.has-colour{--tint:var(--tint-rest);background:linear-gradient(to bottom, color-mix(in srgb, var(--emoji) var(--tint), var(--surface)), var(--surface));transition:transform .16s var(--ease-out), --tint .16s}.tile.has-colour.has-count{--tint:var(--tint-counted)}.tile-add{border-radius:inherit;text-align:center;-webkit-user-select:none;user-select:none;touch-action:manipulation;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:.375rem;width:100%;min-height:100px;padding:.75rem .375rem .625rem;display:flex}.tile-emoji{font-size:2rem;line-height:1}.tile-name{-webkit-line-clamp:2;line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;font-size:.9375rem;font-weight:600;line-height:1.2;display:-webkit-box;overflow:hidden}.tile-new{border:1.5px dashed var(--border);box-shadow:none;color:var(--text-muted);background:0 0}.tile-new .tile-emoji{font-size:1.75rem;font-weight:300}.tile-remove{touch-action:manipulation;background:0 0;border:0;place-items:center;width:44px;height:44px;padding:0;display:grid;position:absolute;top:0;left:0}.tile-remove span{background:var(--surface-2);border:1px solid var(--border);border-radius:50%;place-items:center;width:28px;height:28px;font-size:1.125rem;font-weight:700;line-height:1;display:grid}.tile-remove:active span{background:var(--border)}.badge{background:var(--accent-fill);min-width:28px;height:28px;color:var(--on-accent);font-variant-numeric:tabular-nums;pointer-events:none;animation:badge-pop .2s var(--ease-out);border-radius:14px;place-items:center;padding:0 7px;font-size:1.0625rem;font-weight:800;display:grid;position:absolute;top:6px;right:6px}@keyframes badge-pop{0%{transform:scale(.8)}50%{transform:scale(1.1)}to{transform:scale(1)}}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.round-head{align-items:center;min-height:44px}.search-field{flex:1;align-items:center;gap:.25rem;display:flex}.search-field .input{flex:1;min-width:0;min-height:44px}.search-field .input::-webkit-search-cancel-button{appearance:none}.search-empty{color:var(--text-muted);text-align:center;margin:0}.btn{touch-action:manipulation;background:0 0;border:1px solid #0000;border-radius:14px;justify-content:center;align-items:center;gap:.5rem;min-height:44px;padding:0 1rem;font-weight:600;display:inline-flex}.btn:disabled{cursor:default;opacity:.55}.btn-primary{background:var(--accent-fill);color:var(--on-accent)}.btn-quiet{color:var(--text-muted)}.btn-neutral{background:var(--surface-2);color:var(--text)}.btn-outline{border-color:var(--accent-line);color:var(--accent)}.icon-btn{background:0 0;border:0;border-radius:12px;place-items:center;width:44px;height:44px;padding:0;display:grid}.icon-btn-quiet{color:var(--text-muted)}.btn-danger-text{color:var(--danger);margin-right:auto}.btn:disabled.btn-danger-text{color:var(--text-muted)}.app-version{color:var(--text-muted);text-align:center;padding:1rem 0 .5rem;font-size:.75rem}.app-version p{margin:.25rem 0}.app-version-update{color:var(--accent);font:inherit;background:0 0;border:0;padding:0;font-weight:600;text-decoration:underline}.settings-button{align-self:flex-start}.settings-danger{flex-wrap:wrap;gap:.75rem;display:flex}.btn-danger{background:var(--danger);color:var(--on-danger)}.icon-btn .btn-icon{width:24px;height:24px}.btn-icon{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.round-bar{background:var(--surface-2);border-top:1px solid var(--border);align-items:center;gap:.75rem;min-height:64px;padding:.5rem .75rem .5rem .5rem;display:flex;position:sticky;bottom:0}.round-bar-status{text-align:center;font-variant-numeric:tabular-nums;flex:1;margin:0;font-weight:600}.round-bar:not(:has(button)) .round-bar-status{color:var(--text-muted);font-weight:400}.show-page{gap:.75rem;min-height:100%;padding-bottom:0}.show-tools{flex-direction:column;align-items:flex-end;gap:.375rem;display:flex}.show-table{color:var(--text-muted);align-items:center;gap:.5rem;display:flex}.show-table label{display:flex}.show-table .btn-icon{width:24px;height:24px}.input-table{width:6rem;min-height:40px}.round-remark{padding-top:.75rem}.input-remark{resize:vertical;min-height:3.5rem;padding-top:.625rem;padding-bottom:.625rem}.show-body{flex:1}.show-share{gap:.25rem;display:flex}.show-bar{margin:0 -1rem;position:sticky;bottom:0}.show-empty{text-align:center;color:var(--text-muted);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:1rem;display:flex}.show-empty p{max-width:24ch;margin:0}@keyframes slide-up{0%{transform:translateY(100%)}to{transform:none}}.show-lines{margin:0;padding:0;list-style:none}.show-line{border-bottom:1px solid var(--border);align-items:center;gap:.625rem;padding:.5rem 0;display:flex}.show-count{text-align:right;min-width:2.2ch;color:var(--accent);font-variant-numeric:tabular-nums;font-size:2rem;font-weight:700}.show-times{color:var(--text-muted);font-size:1.25rem}.show-what{flex:1;min-width:0;font-size:2rem;font-weight:700;line-height:1.15}.show-controls{gap:.375rem;display:flex}.show-controls button{border:1px solid var(--border);background:var(--surface-2);width:44px;height:44px;color:var(--text-muted);touch-action:manipulation;border-radius:12px;padding:0;font-size:1.25rem}.show-total{justify-content:space-between;align-items:baseline;margin:0;padding:.75rem 0 .25rem;display:flex}.show-total span:first-child{color:var(--text-muted);font-size:1.25rem;font-weight:600}.show-total span:last-child{color:var(--accent);font-variant-numeric:tabular-nums;font-size:2.5rem;font-weight:800}.history-card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--tile-shadow);border-radius:16px;flex-direction:column;gap:.375rem;padding:.875rem .875rem .25rem;display:flex}.history-card-head{font-variant-numeric:tabular-nums;justify-content:space-between;display:flex}.history-card-head b{font-size:1.0625rem}.history-card-head span{color:var(--text-muted)}.history-table{font-weight:600}.history-remark{color:var(--text-muted);white-space:pre-line;overflow-wrap:anywhere;margin:0}.history-summary{text-align:left;background:0 0;border:0;min-height:44px;padding:0;line-height:1.45}.history-lines{flex-direction:column;gap:.25rem;margin:0;padding:0;list-style:none;display:flex}.history-lines li{gap:.5rem;display:flex}.history-lines b{text-align:right;min-width:2ch;color:var(--accent);font-variant-numeric:tabular-nums}.history-card-actions{justify-content:flex-end;align-items:center;gap:.25rem;padding-bottom:.5rem;display:flex}.item-rows{background:var(--surface);border:1px solid var(--border);border-radius:16px;flex-direction:column;display:flex;overflow:hidden}.item-row{border-bottom:1px solid var(--border);align-items:stretch;min-height:56px;display:flex;position:relative}.item-row-content{z-index:1;background:var(--surface);min-width:0;transition:transform .2s var(--ease-out);flex:1;align-items:stretch;display:flex;position:relative}.item-row-content.swiping{transition:none}.item-row-delete{background:var(--danger);width:72px;color:var(--on-danger);border:0;place-items:center;display:grid;position:absolute;top:0;bottom:0;right:0}.item-row-delete .btn-icon{stroke-width:2.5px;width:24px;height:24px}.item-row:last-child{border-bottom:0}.item-row-main{min-width:0;color:inherit;font:inherit;text-align:left;background:0 0;border:0;flex:1;align-items:center;gap:.75rem;padding:0 .25rem 0 .875rem;display:flex}.item-row-main:active{background:var(--surface-2)}.item-row.pinned .item-row-main{padding-left:0}.item-row-handle{width:44px;color:var(--text-muted);cursor:grab;touch-action:none;flex:none;place-items:center;display:grid}.item-row-handle .grip{fill:currentColor;width:20px;height:20px}.item-rows.reordering .item-row{transition:transform .15s var(--ease-out)}.item-rows.reordering .item-row.dragging{transition:none}.item-row.dragging{z-index:1;box-shadow:0 6px 16px #00000040}.item-row.dragging .item-row-content{background:var(--surface-2)}.item-row.dragging .item-row-handle{color:var(--accent);cursor:grabbing}.item-row-pin{width:48px;color:var(--text-muted);background:0 0;border:0;flex:none;place-items:center;display:grid}.item-row-pin[aria-pressed=true]{color:var(--accent)}.item-row-pin[aria-pressed=true] .btn-icon{fill:currentColor}.item-row-move{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.item-row-move:focus-visible{z-index:2;clip-path:none;border:1px solid var(--accent-line);background:var(--surface-2);width:auto;height:auto;min-height:44px;color:var(--text);font:inherit;border-radius:12px;padding:0 .875rem;top:50%;left:.5rem;transform:translateY(-50%)}.item-row-move[aria-disabled=true]{color:var(--text-muted)}.item-row-emoji{text-align:center;width:1.75rem;font-size:1.5rem}.item-row-name{overflow-wrap:anywhere;flex:1;min-width:0;font-weight:500}.item-row-edit{width:18px;height:18px;color:var(--text-muted)}.items-section{flex-direction:column;gap:1.5rem;display:flex}.section-title{margin:0;font-size:1.125rem;font-weight:700}.items-actions{gap:.5rem;display:flex}.items-actions .btn{flex:1}.share-qr{aspect-ratio:1;width:min(280px,100%);image-rendering:pixelated;border-radius:12px;align-self:center}.share-hint{color:var(--text-muted);text-align:center;margin:0}.install-steps{flex-direction:column;gap:.75rem;margin:0;padding-left:1.5rem;line-height:1.4;display:flex}.install-share{vertical-align:-.25em;color:var(--accent);margin-right:.375rem;display:inline-flex}.share-actions{flex-direction:column;gap:.5rem;display:flex}.sheet-scrim{z-index:35;background:var(--scrim);justify-content:center;align-items:flex-end;animation:.12s linear fade-in;display:flex;position:fixed;inset:0}.sheet{width:min(440px,100%);max-height:92%;padding:.625rem 1rem calc(1rem + env(safe-area-inset-bottom,0px));background:var(--surface);animation:slide-up .24s var(--ease-out);border-radius:24px 24px 0 0;flex-direction:column;gap:1rem;display:flex;overflow-y:auto}.sheet-grab{background:var(--border);border-radius:2px;align-self:center;width:40px;height:4px}.sheet-title{margin:0;font-size:1.25rem}.field{border:0;flex-direction:column;gap:.375rem;min-width:0;margin:0;padding:0;display:flex}.field>label,.field>legend{color:var(--text-muted);margin-bottom:.375rem;padding:0;font-size:.8125rem;font-weight:600}.field>label:not(:first-child){margin:.375rem 0 0}.field-sub{font-weight:400!important}.input{border:1px solid var(--border);background:var(--surface-2);min-height:48px;color:var(--text);font:inherit;border-radius:12px;padding:0 .875rem}.input[aria-invalid=true]{border-color:var(--danger)}.input-emoji{max-width:8rem;font-size:1.375rem}.field-problem{color:var(--danger);margin:0;font-size:.875rem}.choice{cursor:pointer;border-radius:10px;place-items:center;display:grid;position:relative}.choice input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.choice:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.switch-row{cursor:pointer;justify-content:space-between;align-items:center;gap:16px;min-height:44px;display:flex}.switch-text{flex-direction:column;gap:2px;display:flex}.switch-label{color:var(--text);font-size:1rem;font-weight:600}.switch-hint{color:var(--text-muted);font-size:.8125rem}.switch{appearance:none;background:var(--surface-2);border:1px solid var(--border);cursor:pointer;border-radius:14px;flex:none;width:48px;height:28px;margin:0;transition:background .16s;position:relative}.switch:after{content:"";background:var(--text-muted);border-radius:50%;width:20px;height:20px;transition:transform .16s;position:absolute;top:3px;left:3px}.switch:checked{background:var(--accent-fill)}.switch:checked:after{background:var(--on-accent);transform:translate(20px)}.switch:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.segmented{background:var(--surface-2);border-radius:12px;gap:3px;padding:3px;display:flex}.segmented .choice{min-height:40px;color:var(--text-muted);flex:1;font-size:.875rem;font-weight:600}.segmented .choice:has(input:checked){background:var(--surface);color:var(--text);box-shadow:0 1px 3px #00000040}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{background:var(--surface-2);min-height:40px;color:var(--text-muted);border:1.5px solid #0000;padding:0 .875rem;font-size:.875rem;font-weight:600}.chip:has(input:checked){border-color:var(--accent);background:var(--accent-soft);color:var(--text)}.emoji-grid{grid-template-columns:repeat(8,minmax(0,1fr));gap:4px;display:grid}.emoji-choice{aspect-ratio:1;background:var(--surface-2);border:1.5px solid #0000;max-width:100%;min-height:40px;font-size:1.375rem}.emoji-choice:has(input:checked){border-color:var(--accent);background:var(--accent-soft)}.sheet-actions{justify-content:flex-end;gap:.5rem;display:flex}.scrim{z-index:40;background:var(--scrim);place-items:center;padding:1rem;animation:.12s linear fade-in;display:grid;position:fixed;inset:0}.dialog{background:var(--surface);border-radius:20px;flex-direction:column;gap:1rem;width:min(340px,100%);padding:1.25rem;display:flex}.dialog p{margin:0;font-size:1.0625rem;line-height:1.45}.dialog-actions{justify-content:flex-end;gap:.5rem;display:flex}.toast{left:50%;bottom:calc(120px + env(safe-area-inset-bottom,0px));z-index:45;background:var(--surface-2);border:1px solid var(--border);width:min(408px,100% - 2rem);min-height:48px;animation:toast-rise .18s var(--ease-out);border-radius:14px;align-items:center;gap:.5rem;padding:0 .375rem 0 1rem;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 8px 24px #0000004d}.toast span{flex:1}@keyframes toast-rise{0%{opacity:0;translate:0 8px}to{opacity:1;translate:0}}@media (prefers-reduced-motion:reduce){:is(.tile,.tile:has(.tile-add:active)){transition:background-color .12s;transform:none}.badge{animation:none}.pager-track,.item-row-content,.item-rows.reordering .item-row{transition:none}.sheet,.toast{animation:.12s linear fade-in}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}
