:root{--kit-bg:Canvas;--kit-surface:Canvas;--kit-surface-2:color-mix(in srgb, CanvasText 7%, Canvas);--kit-ink:CanvasText;--kit-muted:color-mix(in srgb, CanvasText 68%, Canvas);--kit-line:color-mix(in srgb, CanvasText 14%, Canvas);--kit-accent:#0a62c9;--kit-on-accent:#fff;--kit-danger:#b42318;--kit-on-danger:#fff;--kit-scrim:#00000052;--kit-shadow:0 10px 30px #00000029, 0 2px 6px #00000014;--kit-toast-bg:var(--kit-ink);--kit-toast-ink:var(--kit-bg);--kit-toast-action:var(--kit-toast-ink);--kit-radius:12px;--kit-radius-lg:18px;--kit-gutter:16px;--kit-bar-row:44px;--kit-fade:8px;--kit-target:40px;--kit-control-h:36px;--kit-control-radius:10px;--kit-font-min:12px;--kit-ease:cubic-bezier(.2, .8, .2, 1);--kit-dur:.22s;--kit-ease-out:cubic-bezier(.2, .9, .3, 1);--kit-ease-in:cubic-bezier(.4, 0, 1, 1);--kit-pop-in:.24s;--kit-pop-fade:80ms;--kit-pop-scale:.4;--kit-pop-out:.12s;--kit-pop-out-scale:.5;--kit-z-bar:15;--kit-z-pop:50;--kit-z-toast:60}html{touch-action:manipulation}@media (pointer:coarse){:root{--kit-target:44px}}[hidden]{display:none!important}:where(button,a,input,select,textarea,[tabindex]):focus{outline:none}:where(button,a,input,select,textarea,[tabindex]):focus-visible{outline:2px solid var(--kit-accent);outline-offset:2px}.kit-hit{position:relative}.kit-hit:before{content:"";inset:min(0px, calc((100% - var(--kit-target)) / 2)) min(0px, calc((100% - var(--kit-target)) / 2));position:absolute}.kit-control{box-sizing:border-box;height:var(--kit-control-h);white-space:nowrap;flex:none;justify-content:center;align-items:center;gap:6px;line-height:1.2;display:inline-flex}.kit-chevron{flex:none;width:.75em;height:.75em;display:block}.kit-sr{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;overflow:hidden;position:absolute!important}@media (prefers-reduced-motion:reduce){:root{--kit-dur:0s}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.kit-pop{z-index:var(--kit-z-pop);overscroll-behavior:contain;min-width:min(220px,100vw - 24px);max-width:min(360px,100vw - 24px);color:var(--kit-ink);background:var(--kit-surface);border:1px solid var(--kit-line);box-shadow:var(--kit-shadow);transform-origin:var(--kit-pop-origin,50% 0);border-radius:14px;margin:0;padding:6px;position:fixed;inset:auto;overflow:auto}.kit-pop:focus{outline:none}.kit-menu{flex-direction:column;display:flex}.kit-menu hr{border:0;border-top:1px solid var(--kit-line);margin:4px 6px}.kit-menu__row{min-height:42px;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:9px;align-items:center;gap:12px;padding:0 12px;display:flex}@media (pointer:coarse){.kit-menu__row{min-height:44px}}@media (hover:hover){.kit-menu__row:hover:not(:disabled){background:var(--kit-surface-2)}}.kit-menu__row:focus-visible{outline-offset:-2px}.kit-menu__icon{width:20px;color:var(--kit-muted);flex:none;place-items:center;display:grid}.kit-menu__icon:empty{display:none}.kit-menu__icon svg{width:18px;height:18px}.kit-menu__label{white-space:nowrap;flex:1}.kit-menu__hint{color:var(--kit-muted);font-size:13px}.kit-menu__check{color:var(--kit-accent);margin-left:auto;display:grid}.kit-menu__row.is-danger,.kit-menu__row.is-danger .kit-menu__icon{color:var(--kit-danger)}.kit-menu__row:disabled{opacity:.45;cursor:default}.kit-toast{z-index:var(--kit-z-toast);inset:auto auto auto 50%;bottom:calc(var(--kit-toast-offset,16px) + env(safe-area-inset-bottom,0px));opacity:0;pointer-events:none;background:var(--kit-toast-bg);width:max-content;max-width:calc(100vw - 32px);color:var(--kit-toast-ink);font:inherit;box-shadow:var(--kit-shadow);transition:opacity var(--kit-dur) ease, translate var(--kit-dur) var(--kit-ease);border:0;border-radius:12px;align-items:center;gap:12px;margin:0;padding:10px 16px;font-size:14px;font-weight:600;display:flex;position:fixed;translate:-50% 12px}.kit-toast.is-shown{opacity:1;pointer-events:auto;translate:-50%}.kit-toast:empty{display:none}.kit-toast__text{min-width:0}.kit-toast__action{min-height:32px;color:var(--kit-toast-action);font:inherit;cursor:pointer;text-underline-offset:3px;background:0 0;border:0;flex:none;margin:-6px -4px -6px 0;padding:0 4px;font-weight:800;text-decoration:underline}.kit-toast.is-error{background:var(--kit-danger);color:var(--kit-on-danger)}.kit-toast.is-error .kit-toast__action{color:var(--kit-on-danger)}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0a0a0a;--bg-surface:#141414;--bg-hover:#1e1e1e;--bg-input:#1a1a1a;--border:#2a2a2a;--text:#e0e0e0;--text-dim:#8a8a8a;--text-bright:#fff;--accent:#4ade80;--danger:#ef4444;--danger-fill:#dc2626;--grip:#6b6b6b;--font:"SF Mono", "Menlo", "Monaco", "Consolas", monospace;--col-grip:18px;--col-check:32px;--cell-pad-x:4px;--row-pad-y:3px;--row-font-size:12px;--check-size:16px;--kit-bg:var(--bg);--kit-surface:var(--bg-surface);--kit-surface-2:var(--bg-hover);--kit-ink:var(--text);--kit-muted:var(--text-dim);--kit-line:var(--border);--kit-accent:var(--accent);--kit-on-accent:#0a0a0a;--kit-danger:var(--danger);--kit-on-danger:#0a0a0a;--kit-toast-bg:#262626;--kit-toast-ink:var(--text-bright);--kit-toast-action:var(--accent);--kit-shadow:0 8px 24px #0009;--kit-gutter:8px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{background:var(--bg);height:100%;color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;font-size:13px;line-height:1.4;overflow:clip}@supports (height:100dvh){html,body,#root{height:100dvh}}button{font-family:var(--font);font-size:inherit;cursor:pointer;color:var(--text);background:0 0;border:none}.btn{border:1px solid var(--border);background:var(--bg-surface);white-space:nowrap;border-radius:4px;padding:6px 10px;font-size:11px}.btn:active{opacity:.7;transform:scale(.97)}.btn-accent{border-color:var(--accent);color:var(--accent)}.btn-danger{border-color:var(--danger);color:var(--danger)}.btn-sm{padding:3px 8px;font-size:11px}input,select,textarea{font-family:var(--font);font-size:inherit;background:var(--bg-input);color:var(--text);border:1px solid var(--border);border-radius:4px;outline:none;min-width:0;padding:5px 8px}input:focus,select:focus,textarea:focus{border-color:var(--accent)}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:none}.app{--gutter:8px;--corner:clamp(0px, 24px - env(safe-area-inset-top,0px), calc(20px - var(--gutter)));--pad-l:calc(var(--gutter) + var(--corner) + env(safe-area-inset-left,0px));--pad-r:calc(var(--gutter) + var(--corner) + env(safe-area-inset-right,0px));max-width:1200px;height:100%;padding:0 var(--gutter);padding:0 var(--pad-r) 0 var(--pad-l);flex-direction:column;margin:0 auto;display:flex;overflow:clip}.table-wrap,.list-scroll{padding-bottom:var(--gutter);padding-bottom:calc(var(--gutter) + env(safe-area-inset-bottom))}.header{z-index:15;min-height:calc(max(env(safe-area-inset-top,0px), 24px) + 44px);margin:0 calc(-1 * var(--pad-r)) 8px calc(-1 * var(--pad-l));padding:max(env(safe-area-inset-top,0px), 24px) var(--pad-r) 0 var(--pad-l);background:var(--bg);flex-shrink:0;justify-content:space-between;align-items:center;gap:8px;display:flex;position:sticky;top:0}.header:after{content:"";background:linear-gradient(var(--bg), transparent);pointer-events:none;height:8px;position:absolute;top:100%;left:0;right:0}.header-left{flex:1;align-items:center;gap:6px;min-width:0;display:flex}.icon-btn{border:1px solid var(--border);width:32px;height:28px;color:var(--text-dim);border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.icon-btn:active{opacity:.7}.icon-btn.has-dot{position:relative}.icon-btn.has-dot:after{content:"";background:var(--accent);border-radius:50%;width:6px;height:6px;position:absolute;top:3px;right:3px}.header h1{color:var(--text-bright);white-space:nowrap;text-overflow:ellipsis;font-size:16px;font-weight:700;overflow:hidden}.header-date{color:var(--text-dim);white-space:nowrap;font-size:11px}.header-actions{flex-shrink:0;align-items:center;gap:4px;display:flex}.back-btn{color:var(--text-dim);cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:2px 4px;font-size:14px}.back-btn:hover{color:var(--text)}.header-name-edit{color:var(--text-bright);flex:1;min-width:0;font-size:16px;font-weight:700}.list-scroll{flex:1;min-height:0;margin-top:-8px;padding-top:8px;overflow-y:auto}.header .mobile-only{display:none}.event-list{flex-direction:column;gap:6px;display:flex}.event-card{background:var(--bg-surface);border:1px solid var(--border);cursor:pointer;border-radius:4px;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;display:flex}.event-card:hover{background:var(--bg-hover)}.event-card:active{opacity:.8}.event-card-info{flex-direction:column;gap:2px;min-width:0;display:flex}.event-card-name{color:var(--text-bright);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.event-card-date{color:var(--text-dim);font-size:11px}.event-card-actions{flex-shrink:0;gap:4px;display:flex}.section-label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em;margin:12px 0 6px;font-size:11px}.create-form{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.create-form input{flex:1;min-width:100px}.table-wrap{-webkit-overflow-scrolling:touch;flex:1;min-height:0;overflow:auto}.pack-table{border-collapse:collapse;table-layout:fixed;width:100%}.pack-table th{text-align:left;color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border);background:var(--bg);z-index:2;white-space:nowrap;padding:4px;font-size:10px;font-weight:600;position:sticky;top:0}.pack-table td{padding:var(--row-pad-y) var(--cell-pad-x);border-bottom:1px solid var(--border);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.col-grip{width:var(--col-grip);padding:0!important}.col-check{width:var(--col-check);text-align:center}.pack-table th.col-text{overflow:hidden}.col-resizer{cursor:col-resize;touch-action:none;width:14px;position:absolute;top:0;bottom:0;right:0}.col-resizer:after{content:"";background:var(--border);border-radius:1px;width:2px;position:absolute;top:3px;bottom:3px;right:2px}.col-resizer:hover:after,.col-resizer.active:after{background:var(--accent)}@media (pointer:coarse){.col-resizer{width:22px}}.name-cell{align-items:center;min-width:0;display:flex}.cell-text{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.name-cell .row-actions{flex:none;margin-left:6px}.kit-pop.cell-peek{border-radius:4px;min-width:0;max-width:min(360px,100vw - 16px);padding:0;box-shadow:0 4px 16px #00000080}.cell-peek-body{cursor:pointer;padding:6px 8px}.cell-peek-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-dim);margin-bottom:2px;font-size:9px;font-weight:600}.cell-peek-text{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px}.grip-cell{width:var(--col-grip);text-align:center;vertical-align:middle;padding:0!important}.drag-handle{width:18px;height:calc(var(--row-font-size) * 1.4 + 2 * var(--row-pad-y));cursor:grab;color:var(--grip);-webkit-user-select:none;user-select:none;border-radius:3px;justify-content:center;align-items:center;font-size:14px;transition:color .1s,background .1s;display:inline-flex}.drag-handle:active{cursor:grabbing}tr.dragging{opacity:.3}.drag-ghost{opacity:.92;background:var(--bg-surface);pointer-events:none;border-radius:4px;overflow:hidden;box-shadow:0 8px 24px #00000080}.drag-ghost table{margin:0}.drop-indicator{background:var(--accent);pointer-events:none;z-index:999;height:2px;box-shadow:0 0 6px var(--accent);border-radius:1px;position:fixed}.row-category td{background:var(--bg-surface);color:var(--text-bright);cursor:pointer;padding:5px 4px;font-size:12px;font-weight:600}.row-container td{background:var(--bg);color:var(--text-dim);cursor:pointer;padding:4px 4px 4px 14px;font-size:11px;font-style:italic}.row-item td{font-size:var(--row-font-size)}.item-name{cursor:pointer;padding-left:8px}.item-name-indented{cursor:pointer;padding-left:20px}.check-cell{text-align:center;cursor:pointer;-webkit-user-select:none;user-select:none}.check-cell:active .check-box{opacity:.6}.check-box{width:var(--check-size);height:var(--check-size);border:2px solid var(--border);background-clip:content-box;border-radius:3px;margin:0 auto;padding:2px;display:block}.check-box.checked{border-color:var(--cs);background-color:var(--cs)}.check-header{cursor:pointer;position:relative}.pack-table th.check-header{letter-spacing:0;text-overflow:clip;text-align:center;padding-left:0;padding-right:0;overflow:hidden}.row-editing td{background:var(--bg-surface)}.inline-edit{width:100%;font-size:inherit;font-family:inherit;line-height:inherit;color:var(--text-bright);box-sizing:border-box;background:0 0;border:none;border-radius:0;outline:none;margin:0;padding:0;display:block}.inline-edit-sm{text-align:center}.search-row{flex-shrink:0;align-items:center;gap:4px;margin-bottom:4px;display:flex}.search-input{appearance:none;flex:1;min-width:0;max-width:320px;padding:3px 6px;font-size:11px}.search-input::-webkit-search-cancel-button{display:none}.search-clear{width:28px;height:24px;color:var(--text-dim);flex-shrink:0;justify-content:center;align-items:center;font-size:16px;display:inline-flex}.search-clear:active{opacity:.6}.col-toggle{border:1px solid var(--border);color:var(--text-dim);cursor:pointer;white-space:nowrap;background:0 0;border-radius:3px;padding:2px 5px;font-size:10px}.col-toggle:active{opacity:.7}.col-toggle.active{background:var(--bg-hover);color:var(--text);border-color:var(--text-dim)}.col-toggle:disabled{cursor:default;opacity:.55}.group-head{align-items:center;gap:6px;min-width:0;display:flex}.group-name{text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.group-count{color:var(--text-dim);flex-shrink:0;font-size:10px;font-style:normal;font-weight:400}.row-menu-btn{width:32px;height:28px;color:var(--text-dim);flex-shrink:0;justify-content:center;align-items:center;margin:-6px -4px -6px 0;display:inline-flex}.row-menu-btn:active{opacity:.6}.kit-pop.popover{border-radius:6px;min-width:190px;max-width:calc(100vw - 16px);padding:4px 0}.menu-item{text-align:left;width:100%;min-height:32px;color:var(--text);align-items:center;padding:0 12px;font-size:12px;display:flex}.menu-item:active{background:var(--bg-hover)}.menu-check{box-sizing:content-box;width:14px;color:var(--accent);margin-left:auto;padding-left:12px;display:inline-flex}.menu-danger{color:var(--danger)}.menu-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-dim);padding:6px 12px 3px;font-size:9px;font-weight:600}.menu-pills{flex-wrap:wrap;gap:4px;padding:2px 12px 6px;display:flex}.pill-pair{align-items:center;display:inline-flex}.pill-x{min-width:22px;min-height:22px;color:var(--text-dim);justify-content:center;align-items:center;font-size:13px;display:inline-flex}.menu-sep{background:var(--border);height:1px;margin:4px 0}@media (hover:hover){.menu-item:hover{background:var(--bg-hover)}}.row-item td{touch-action:pan-y;-webkit-touch-callout:none}.row-item{transition:transform .15s ease-out}.row-item.row-swiping{transition:none}.row-armed td{background:#ef44441a}.row-armed .cell-text{color:var(--text-dim)}.swipe-delete{background:var(--danger-fill);color:#fff;border-radius:3px;flex-shrink:0;margin-left:8px;padding:3px 14px;font-size:11px;font-weight:600}tbody.painting{-webkit-user-select:none;user-select:none}.check-cell.painted{background:var(--bg-hover)}.row-actions{opacity:0;transition:opacity .1s}.row-action-btn{color:var(--text-dim);cursor:pointer;background:0 0;border:none;padding:1px 3px;font-size:10px}.row-action-btn:hover{color:var(--text)}.row-action-btn:active{opacity:.6}.empty{text-align:center;color:var(--text-dim);padding:40px 16px;font-size:12px}.empty p{margin-bottom:12px}.kit-pop.prompt-pop{width:min(300px,100vw - 24px);padding:12px}.prompt{flex-direction:column;gap:10px;display:flex}.prompt h2{color:var(--text-bright);font-size:14px}.prompt label{color:var(--text-dim);flex-direction:column;gap:3px;font-size:11px;display:flex}.modal-actions{justify-content:flex-end;gap:6px;margin-top:4px;display:flex}.kit-toast{border:1px solid var(--border);border-radius:6px;max-width:min(420px,100vw - 24px);padding:8px 14px;font-size:12px}.kit-toast__text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.btn-confirm{min-width:calc(7ch + 18px)}.btn-confirm.is-armed{background:var(--danger-fill);border-color:var(--danger-fill);color:#fff}.sync-bar{align-items:center;gap:4px;padding:4px 0;font-size:11px;display:flex}.sync-btn{color:var(--text-dim);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:3px;padding:2px 6px;font-size:11px}.sync-btn:hover{color:var(--text)}.sync-btn:active{opacity:.7}.sync-settings-btn{color:var(--text-dim);cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:14px}.sync-settings-btn:hover{color:var(--text)}.sync-settings{border:1px solid var(--border);background:var(--bg-surface);border-radius:4px;margin-bottom:8px;padding:8px}.sync-settings label{color:var(--text-dim);flex-direction:column;gap:3px;font-size:11px;display:flex}.sync-settings input{font-size:12px}.sync-secret-row{align-items:flex-end;gap:6px;display:flex}.sync-secret-row label{flex:1;min-width:0}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.import-panel{border:1px solid var(--border);background:var(--bg-surface);border-radius:4px;flex-shrink:0;margin-bottom:8px;padding:10px}.import-textarea{width:100%;font-family:var(--font);background:var(--bg-input);color:var(--text);border:1px solid var(--border);resize:vertical;border-radius:4px;padding:6px;font-size:11px}.import-textarea:focus{border-color:var(--accent);outline:none}.import-mappings{flex-wrap:wrap;gap:6px;display:flex}.import-mapping{flex-direction:column;gap:2px;display:flex}.import-col-label{color:var(--text-dim);white-space:nowrap;text-overflow:ellipsis;max-width:100px;font-size:10px;overflow:hidden}.import-mapping select{padding:2px 4px;font-size:11px}.import-preview{border-collapse:collapse;width:100%;margin-top:4px;font-size:11px}.import-preview th{text-align:left;color:var(--text-dim);border-bottom:1px solid var(--border);padding:2px 4px;font-size:10px}.import-preview td{border-bottom:1px solid var(--border);white-space:nowrap;text-overflow:ellipsis;max-width:120px;padding:2px 4px;overflow:hidden}.paste-panel-head{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.paste-panel-title{color:var(--text-bright);font-size:12px;font-weight:600}.paste-panel-row{align-items:center;gap:6px;margin-top:8px;display:flex}.paste-name-input{min-width:0;font-family:var(--font);background:var(--bg-input);color:var(--text);border:1px solid var(--border);border-radius:4px;flex:1;padding:4px 6px;font-size:12px}.paste-name-input:focus{border-color:var(--accent);outline:none}.paste-summary{color:var(--text-dim);margin-top:8px;font-size:10px}.paste-summary code{color:var(--text);font-size:10px}@media (hover:hover){.btn:hover,.row-category:hover td,.row-container:hover td,.row-item:hover td{background:var(--bg-hover)}.drag-handle:hover{color:var(--text-dim);background:var(--bg-hover)}tr:hover .row-actions{opacity:1}}@media (width<=480px){.btn.desktop-only,.desktop-only{display:none}.header .icon-btn.mobile-only{display:inline-flex}.search-input{max-width:none}.app{--gutter:4px}.header-date{display:none}.create-form{flex-direction:column}.create-form input{flex:none;width:100%}:root{--col-grip:16px;--cell-pad-x:3px;--row-font-size:11px}.pack-table th{padding:3px;font-size:9px}.drag-handle{width:16px;font-size:12px}.row-category td{padding:4px 3px;font-size:11px}.row-container td{padding:3px 3px 3px 10px;font-size:10px}.item-name{padding-left:4px}.item-name-indented{padding-left:12px}.import-panel{padding:8px}}@media (pointer:coarse){:root{--row-pad-y:5px;--col-check:34px;--check-size:18px}.row-category,.row-container,button,.drag-handle{touch-action:manipulation}.menu-item{min-height:40px}.row-category td{padding-top:7px;padding-bottom:7px}.row-container td{padding-top:6px;padding-bottom:6px}.back-btn{min-width:32px;min-height:32px;font-size:18px}.btn-sm,.col-toggle,.sync-btn{justify-content:center;align-items:center;min-height:28px;display:inline-flex}.col-toggle{padding:0 7px;font-size:11px}.search-input,.search-clear{height:28px}.row-actions{display:none}}
