:root{--lc-bg:#fff;--lc-fg:#1a1a1a;--lc-muted:#555;--lc-border:#d0d0d0;--lc-accent:#1a1a1a;--lc-accent-fg:#fff;--lc-focus:#2563eb;--lc-radius:8px;--lc-z:2147483000}@media (prefers-color-scheme:dark){:root{--lc-bg:#1c1c1e;--lc-fg:#f2f2f2;--lc-muted:#b5b5b5;--lc-border:#444;--lc-accent:#f2f2f2;--lc-accent-fg:#1c1c1e;--lc-focus:#60a5fa}}.lc-banner,.lc-dialog{background:var(--lc-bg);color:var(--lc-fg);font-size:15px;line-height:1.5;font-style:normal;font-weight:400;font-family:var(--lc-font,inherit);box-shadow:0 4px 24px rgba(0,0,0,.18);border:1px solid var(--lc-border);border-radius:var(--lc-radius);box-sizing:border-box}.lc-banner{position:fixed;left:1rem;right:1rem;bottom:1rem;z-index:var(--lc-z);max-width:44rem;margin:0 auto;padding:1rem 1.25rem}.lc-title{margin:0 0 .25rem;font-size:1rem;font-weight:700}.lc-text,.lc-cat p{margin:0 0 .75rem;color:var(--lc-muted)}.lc-banner a,.lc-dialog a{color:inherit;text-decoration:underline}.lc-actions{display:flex;flex-wrap:wrap;gap:.5rem}.lc-btn{flex:1 1 auto;min-height:44px;padding:.5rem 1rem;border:1px solid var(--lc-accent);border-radius:calc(var(--lc-radius) - 2px);background:var(--lc-accent);color:var(--lc-accent-fg);font:inherit;font-weight:600;cursor:pointer}.lc-btn.lc-quiet{background:transparent;color:var(--lc-fg);border-color:var(--lc-border)}.lc-btn:focus-visible,.lc-close:focus-visible,.lc-banner a:focus-visible,.lc-dialog a:focus-visible,.lc-cat input:focus-visible,.lc-dialog:focus-visible{outline:3px solid var(--lc-focus);outline-offset:2px}.lc-overlay{position:fixed;inset:0;z-index:calc(var(--lc-z) + 1);display:flex;align-items:center;justify-content:center;padding:1rem;background:rgba(0,0,0,.5)}.lc-dialog{position:relative;width:100%;max-width:34rem;max-height:calc(100vh - 2rem);overflow:auto;padding:1.5rem}.lc-cat{border-top:1px solid var(--lc-border);padding-top:.75rem}.lc-cat label{display:flex;align-items:center;gap:.5rem;cursor:pointer}.lc-cat input{width:1.25rem;height:1.25rem;margin:0}.lc-badge{margin-left:auto;font-size:.8rem;color:var(--lc-muted)}.lc-note{font-size:.875rem;font-style:italic}.lc-close{position:absolute;top:.5rem;right:.5rem;width:44px;height:44px;border:0;background:transparent;color:var(--lc-fg);font-size:1.5rem;cursor:pointer}@media (max-width:480px){.lc-banner{left:.5rem;right:.5rem;bottom:.5rem}.lc-btn{flex-basis:100%}}@media (prefers-reduced-motion:no-preference){.lc-banner,.lc-dialog{animation:lc-in .2s ease-out}}@keyframes lc-in{from{opacity:0;transform:translateY(8px)}}
