:root{--lm-r-sm: 6px;--lm-r-md: 8px;--lm-r-lg: 12px;--lm-focus: var(--accent-bg);--lm-focus-ring: 0 0 0 3px var(--accent-bg)}body{font-family:var(--font-body)}.lm-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;font-family:var(--font-body);font-size:var(--fs-sm);font-weight:500;line-height:1;white-space:nowrap;cursor:pointer;text-decoration:none;padding:11px 22px;border-radius:var(--lm-r-md);border:1px solid var(--border2);background:transparent;color:var(--text2);transition:background .15s,color .15s,border-color .15s,filter .15s,box-shadow .15s,transform .05s}.lm-btn:hover{background:var(--bg3);color:var(--text)}.lm-btn:active{transform:translateY(.5px)}.lm-btn:focus-visible{outline:none;box-shadow:var(--lm-focus-ring)}.lm-btn:disabled,.lm-btn[aria-disabled=true]{opacity:.45;cursor:default;pointer-events:none}.lm-btn--primary{border:none;background:var(--accent);color:#fff;box-shadow:0 1px 10px var(--accent-glow-wide)}.lm-btn--primary:hover{background:var(--accent);color:#fff;filter:brightness(1.08)}.lm-btn--ghost{border:1px solid var(--border);background:var(--bg3);color:var(--text2)}.lm-btn--ghost:hover{background:var(--bg4);color:var(--text)}.lm-btn--danger{border:1px solid var(--red-border);background:var(--red-bg);color:var(--red)}.lm-btn--danger:hover{background:var(--red-bg);color:var(--red);filter:brightness(1.08)}.lm-btn--danger:focus-visible{box-shadow:0 0 0 3px var(--red-bg)}.lm-btn--danger-solid{border:none;background:var(--red);color:#fff;font-weight:500}.lm-btn--danger-solid:hover{filter:brightness(1.08)}.lm-btn--danger-solid:focus-visible{box-shadow:0 0 0 3px var(--red-bg)}.lm-btn--sm{padding:7px 15px;font-size:var(--fs-xs);border-radius:var(--lm-r-sm)}.lm-btn--block{display:flex;width:100%}.lm-field{display:flex;flex-direction:column;gap:6px}.lm-field-label{font-family:var(--font-body);font-size:var(--fs-xs);font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--text3)}.lm-input{width:100%;box-sizing:border-box;padding:10px 13px;border-radius:var(--lm-r-md);background:var(--bg2);border:1px solid var(--border2);color:var(--text);font-family:var(--font-body);font-size:var(--fs-sm);outline:none;transition:border-color .15s,box-shadow .15s,background .15s}.lm-input::placeholder{color:var(--text3)}.lm-input:hover{border-color:var(--border3)}.lm-input:focus,.lm-input:focus-visible{border-color:var(--accent-border);box-shadow:var(--lm-focus-ring)}.lm-input:disabled{opacity:.5;cursor:default}.lm-field-msg{font-size:var(--fs-xs);margin-top:2px;padding:8px 12px;border-radius:var(--lm-r-sm);line-height:1.5}.lm-field-msg[hidden]{display:none}.lm-field-msg--error{color:var(--red);background:var(--red-bg);border:1px solid var(--red-border)}.lm-field-msg--ok{color:var(--green);background:var(--green-bg);border:1px solid var(--green-border)}.lm-card{display:flex;flex-direction:column;position:relative;overflow:hidden;background:var(--bg2);border:1px solid var(--border);border-radius:var(--lm-r-lg);cursor:pointer;transition:border-color .2s,transform .2s,background .2s}.lm-card:hover{border-color:var(--accent-border);transform:translateY(-3px);background:var(--bg3)}.lm-card:focus-visible{outline:none;box-shadow:var(--lm-focus-ring)}.lm-card.is-locked{opacity:.38;cursor:default}.lm-card.is-locked:hover{transform:none;border-color:var(--border);background:var(--bg2)}.lm-card-art{width:100%;aspect-ratio:var(--lm-card-art-ratio, 16/10);overflow:hidden;background:var(--bg3);flex-shrink:0}.lm-card-art img{width:100%;height:100%;object-fit:contain;display:block;pointer-events:none;user-select:none;-webkit-user-drag:none}.lm-card-cover-light{display:block}.lm-card-cover-dark,[data-theme=dark] .lm-card-cover-light{display:none}[data-theme=dark] .lm-card-cover-dark{display:block}.lm-card-art-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-family:DM Mono,monospace;font-size:var(--fs);color:var(--accent2);background:var(--accent-bg)}.lm-card-body{display:flex;flex-direction:column;gap:5px;padding:11px 13px}.lm-card-num{font-family:DM Mono,monospace;font-size:var(--fs-xs);color:var(--accent2);background:var(--accent-bg);border:1px solid var(--accent-border);padding:2px 7px;border-radius:var(--lm-r-sm);width:fit-content}.lm-card-title{font-size:var(--fs-sm);font-weight:500;color:var(--text);line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lm-card-desc{font-size:var(--fs-xs);color:var(--text3);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:calc(var(--fs-xs) * 1.5 * 2)}.lm-card-progress{height:3px;background:var(--bg4);border-radius:2px;overflow:hidden;margin-top:4px}.lm-card-progress>i{display:block;height:100%;background:var(--accent);border-radius:2px;transition:width .5s ease}.lm-card-num-row{display:flex;align-items:center;justify-content:space-between}.lm-card-count{font-family:DM Mono,monospace;font-size:var(--fs-xs);color:var(--text3);margin-left:auto;padding-right:6px}.lm-card-ring{width:20px;height:20px;border-radius:50%;flex-shrink:0;background:conic-gradient(var(--accent) calc(var(--ring-p,0) * 1%),var(--bg4) 0);-webkit-mask:radial-gradient(farthest-side,transparent 60%,#000 61%);mask:radial-gradient(farthest-side,transparent 60%,#000 61%);pointer-events:none}.lm-card-ring.is-done{background:var(--accent);-webkit-mask:none;mask:none;display:flex;align-items:center;justify-content:center}.lm-card-ring.is-done:before{content:"✓";font-size:9px;font-weight:700;color:#fff;line-height:1}.lm-card.is-teal:hover{border-color:var(--teal-border)}.lm-card.is-teal .lm-card-num{color:var(--teal);background:var(--teal-bg);border-color:var(--teal-border)}.lm-card.is-teal .lm-card-art-placeholder{color:var(--teal);background:var(--teal-bg)}.lm-toggle{position:relative;display:inline-block;width:44px;height:26px;flex-shrink:0;cursor:pointer}.lm-toggle input{position:absolute;opacity:0;width:0;height:0}.lm-toggle-track{position:absolute;inset:0;border-radius:13px;background:var(--bg4);transition:background .2s}.lm-toggle-track:after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #00000040;transition:transform .2s}.lm-toggle input:checked+.lm-toggle-track{background:var(--accent)}.lm-toggle input:checked+.lm-toggle-track:after{transform:translate(18px)}.lm-toggle input:focus-visible+.lm-toggle-track{box-shadow:var(--lm-focus-ring)}.lm-badge{display:inline-block;padding:3px 11px;border-radius:20px;font-family:var(--font-body);font-size:var(--fs-xs);font-weight:500;white-space:nowrap;line-height:1.4}.lm-badge--neutral{background:var(--bg3);color:var(--text2)}.lm-badge--accent{background:var(--accent-bg);color:var(--accent2);border:1px solid var(--accent-border)}.lm-badge--admin{background:var(--red-bg);color:var(--red);border:1px solid var(--red-border)}.lm-menu{position:relative;flex-shrink:0}.lm-menu-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--lm-r-sm);border:none;background:none;color:var(--text3);cursor:pointer;padding:0;transition:background .15s,color .15s}.lm-menu-btn:hover,.lm-menu-btn[aria-expanded=true]{background:var(--bg3);color:var(--text2)}.lm-menu-pop{display:none;position:absolute;right:0;top:calc(100% + 6px);z-index:200;min-width:184px;background:var(--bg2);border:1px solid var(--border);border-radius:var(--lm-r-md);box-shadow:0 6px 24px #0000002e;padding:5px}.lm-menu-pop.lm-menu-pop-open{display:block}.lm-menu-item{display:flex;align-items:center;gap:9px;width:100%;padding:9px 11px;background:none;border:none;border-radius:var(--lm-r-sm);cursor:pointer;white-space:nowrap;font-family:var(--font-body);font-size:var(--fs-sm);color:var(--text2);text-align:left;transition:background .13s,color .13s}.lm-menu-item:not([disabled]):hover{background:var(--accent-bg);color:var(--accent)}.lm-menu-item svg{color:var(--accent2);flex-shrink:0}.lm-menu-item[disabled]{opacity:.5;cursor:default}.lm-menu-item:not([disabled]):hover .lm-reset{transform:rotate(-180deg)}.lm-menu-divider{height:1px;margin:5px 6px;background:var(--border)}@media(prefers-reduced-motion:reduce){.lm-btn,.lm-card,.lm-toggle-track,.lm-toggle-track:after,.lm-card-progress>i,.lm-input{transition:none;animation:none}}
