:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#111;--surface:#1a1a1a;--surface-raised:#242424;--border:#333;--text:#eee;--text-dim:#aaa;--text-faint:#888;--accent:#6cf;--accent-bg:#264;--warn:#ffb86b;--danger:#ff8b8b;--presence:#8f8;--radius:.5rem;--radius-sm:.25rem;--gap:.5rem;--touch:2.75rem}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);overscroll-behavior:none;margin:0;font-family:system-ui,sans-serif}button{font:inherit;color:inherit}.login{max-width:28rem;padding:max(1.5rem, env(safe-area-inset-top)) 1rem max(1.5rem, env(safe-area-inset-bottom)) 1rem;flex-direction:column;justify-content:center;gap:.75rem;min-height:100dvh;margin:0 auto;display:flex}.login input{width:100%;min-height:var(--touch);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);padding:.5rem .75rem;font-size:1rem}.login button{min-height:var(--touch);background:var(--accent-bg);border:1px solid var(--border);border-radius:var(--radius-sm);touch-action:manipulation;-webkit-tap-highlight-color:transparent;padding:.5rem 1rem;font-size:1rem}.login button:disabled{opacity:.6}.sorter{gap:var(--gap);height:100dvh;padding:max(.5rem, env(safe-area-inset-top)) max(.5rem, env(safe-area-inset-right)) max(.5rem, env(safe-area-inset-bottom)) max(.5rem, env(safe-area-inset-left));flex-direction:column;display:flex}.sorter header{color:var(--text-dim);align-items:center;gap:1rem;font-size:.85rem;display:flex}.degraded{color:var(--warn)}.presence{color:var(--presence);margin-left:auto}.presence .me{color:var(--accent);font-weight:600}.settings-toggle{min-height:var(--touch);min-width:var(--touch);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);touch-action:manipulation;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;padding:.1rem .5rem;font-size:1.1rem}.settings-toggle:active{background:var(--surface-raised)}.photo{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;flex:auto;justify-content:center;align-items:center;min-height:0;display:flex}.photo img{object-fit:contain;max-width:100%;max-height:100%}.caption{color:var(--text-dim);text-align:center;margin:0;font-size:.85rem}.asset-id{color:var(--text-faint);cursor:help;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace}.categories{align-content:flex-start;gap:var(--gap);overscroll-behavior:contain;flex-wrap:wrap;flex:0 auto;max-height:45dvh;padding-bottom:.5rem;display:flex;overflow-y:auto;-webkit-mask-image:linear-gradient(#000 calc(100% - 2rem),#0000 100%);mask-image:linear-gradient(#000 calc(100% - 2rem),#0000 100%)}.category,.new-category{min-height:var(--touch);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);touch-action:manipulation;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;padding:.6rem 1rem;font-size:1rem}.category:active,.new-category:active{background:var(--surface-raised)}.category:focus-visible,.new-category:focus-visible,.commit-selection:focus-visible,.settings-toggle:focus-visible,.actions button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.category.selected{outline:2px solid var(--accent);outline-offset:-2px}.category:disabled,.new-category:disabled{opacity:.6}.new-category{color:var(--text-dim);border-style:dashed}.commit-selection{min-height:var(--touch);background:var(--accent-bg);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);touch-action:manipulation;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;padding:.75rem 1rem;font-size:1rem}.commit-selection:disabled{opacity:.6}.actions{gap:var(--gap);display:flex}.actions button{min-height:var(--touch);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);touch-action:manipulation;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;flex:1;padding:1rem;font-size:1rem}.actions button:active{background:var(--surface-raised)}.actions .nav{min-width:var(--touch);flex:none;padding:1rem .75rem;font-size:1.1rem}.actions button:disabled{opacity:.6}dialog{background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);max-width:min(28rem,90vw);max-height:min(80dvh,40rem);margin:auto;padding:1rem;overflow-y:auto}dialog::backdrop{background:#0009}dialog h2{margin-top:0;font-size:1.1rem}dialog h3{color:var(--text-dim);margin-bottom:.4rem;font-size:.9rem}dialog section+section{margin-top:1rem}dialog input{width:100%;min-height:var(--touch);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);padding:.5rem .75rem;font-size:1rem}dialog p{color:var(--text-dim)}.dialog-actions{gap:var(--gap);justify-content:flex-end;margin-top:1rem;display:flex}.dialog-actions button,dialog form button{min-height:var(--touch);background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-sm);touch-action:manipulation;-webkit-tap-highlight-color:transparent;padding:.5rem 1rem}.dialog-actions button:disabled,dialog form button:disabled{opacity:.6}.settings-menu ul{background:var(--bg);border-radius:var(--radius-sm);margin:0;padding:.5rem 1rem;font-size:.85rem;list-style:none}.settings-menu kbd{min-width:5.5rem;color:var(--text);display:inline-block}.settings-menu .latency{font-variant-numeric:tabular-nums;color:var(--text-dim);margin:0}.settings-menu .category-row{align-items:center;gap:var(--gap);padding:.4rem 0;display:flex}.settings-menu .category-row span{flex:1}.settings-menu .retire{min-height:var(--touch);background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--danger);touch-action:manipulation;-webkit-tap-highlight-color:transparent;padding:.4rem .75rem}.error{color:var(--danger)}.notice{color:var(--text-dim)}.timeline-strip{overscroll-behavior-x:contain;touch-action:pan-x;scrollbar-width:thin;flex:0 0 3rem;gap:.25rem;display:flex;overflow:auto hidden}.tl-entry{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;flex:none;width:3rem;height:3rem;padding:0;position:relative;overflow:hidden}.tl-entry img{object-fit:cover;width:100%;height:100%;display:block}.tl-entry--cursor{outline:2px solid var(--accent);outline-offset:-2px}.tl-entry:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.tl-entry--filed img,.tl-entry--flagged img,.tl-entry--departed img{opacity:.4;filter:grayscale()}.tl-entry--committing img{opacity:.6}.tl-badge{color:var(--text-dim);background:#000000a6;border-end-end-radius:var(--radius-sm);padding:0 .2rem;font-size:.7rem;line-height:1.2;position:absolute;inset-block-start:0;inset-inline-start:0}.tl-entry--flagged .tl-badge{color:var(--warn)}.tl-entry--departed .tl-badge{color:var(--danger)}.tl-viewers{color:var(--presence);background:#000000a6;border-start-start-radius:var(--radius-sm);padding:0 .2rem;font-size:.7rem;font-weight:600;line-height:1.2;position:absolute;inset-block-end:0;inset-inline-end:0}.category-rail{gap:var(--gap);flex-direction:column;min-height:0;display:flex}.messages:empty{display:none}@media (width<=40rem){.sorter header{flex-wrap:wrap}.presence{flex-basis:100%;order:1;margin-left:0}.actions .hint{display:none}.actions button,.actions .nav{padding:.6rem .5rem}.categories{max-height:34dvh}}@media (width>=40.0625rem){.sorter{grid-template:"header header header""rail photo strip"minmax(0,1fr)"rail caption strip""rail actions strip""rail msgs strip"/minmax(10rem,14rem) minmax(0,1fr) minmax(5rem,8rem);column-gap:1rem;display:grid}.sorter header{grid-area:header}.category-rail{grid-area:rail;min-height:0}.categories{flex-flow:column;max-height:none;-webkit-mask-image:none;mask-image:none}.category,.new-category{text-align:start}.photo{grid-area:photo}.caption{grid-area:caption}.actions{grid-area:actions}.messages{grid-area:msgs}.timeline-strip{overscroll-behavior-y:contain;touch-action:pan-y;flex-direction:column;grid-area:strip;overflow:hidden auto}.tl-entry{aspect-ratio:1;width:100%;height:auto}}
