dialog.fmListSheet{--sheet-bg:#fffdfd;--sheet-text:#30232e;--sheet-muted:#7d707b;--sheet-line:#eee5ec;--sheet-plum:#7a1d5e;box-sizing:border-box;inset:auto 0 0;margin:0 auto;padding:0;width:min(100%,460px);max-width:100%;max-height:min(92dvh,850px);height:auto;border:1px solid #eee2eb;border-bottom:0;border-radius:30px 30px 0 0;background:var(--sheet-bg);color:var(--sheet-text);box-shadow:0 -14px 60px #36102820;overflow:hidden;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:16px;line-height:1.4}
dialog.fmListSheet[open]{display:flex;flex-direction:column}
dialog.fmListSheet::backdrop{background:#22101f55;backdrop-filter:blur(2px)}
.fmListSheet *{box-sizing:border-box}.fmListSheet button,.fmListSheet input{font:inherit}.fmListSheet button{cursor:pointer}.fmListSheet [hidden]{display:none!important}
.fmListHandle{height:4px;min-height:4px;width:36px;margin:10px auto 17px;border-radius:5px;background:#d7cbd3}
.fmListHeading{padding:0 24px 18px;display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--sheet-line)}
.fmListHeading>div{min-width:0;flex:1}.fmListHeading h2{font-size:23px;font-weight:650;letter-spacing:-.6px;line-height:1.25;margin:0 0 4px;color:var(--sheet-text)}
.fmListHeading p{font-size:13px;color:var(--sheet-muted);margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fmListClose{border:0;width:36px;height:36px;border-radius:50%;background:#f5eef3;color:var(--sheet-muted);font-size:25px!important;line-height:1;flex-shrink:0}
.fmListScroll{overflow-y:auto;overscroll-behavior:contain;padding:8px 14px 10px;min-height:0;scrollbar-width:thin}
.fmListSheet h3{font-size:12px;font-weight:600;letter-spacing:.1px;color:var(--sheet-muted);margin:18px 12px 6px}
.fmListNew{display:flex;align-items:center;gap:14px;width:100%;min-height:48px;padding:10px 12px;color:var(--sheet-plum);background:transparent;border:0;border-radius:14px;text-align:left;font-weight:600!important}
.fmListNew>span{font-size:25px;line-height:1;width:24px;text-align:center}.fmListNew:hover{background:#f9eff6}
.fmListRow{position:relative;display:flex;align-items:center;gap:16px;min-height:50px;margin:0;padding:10px 12px;border-radius:13px;cursor:pointer;font-size:15px;font-weight:400;color:var(--sheet-text)}
.fmListRow:has(input:checked){background:#f7edf4}.fmListName{flex:1;min-width:0;overflow-wrap:anywhere}.fmListSymbol{width:22px;flex:0 0 22px;text-align:center;font-size:29px;line-height:1;color:#84657c}
.fmListSymbol[style]::before{content:"";display:block;width:13px;height:13px;margin:auto;background:var(--list-colour);border-radius:50%}
.fmListRow input{position:absolute;right:12px;width:23px;height:23px;opacity:0;cursor:pointer;margin:0}
.fmListTick{width:21px;height:21px;flex:0 0 21px;border:1.6px solid #b7a9b2;border-radius:7px;background:transparent;display:grid;place-items:center;pointer-events:none}
.fmListRow input:checked+.fmListTick{background:var(--sheet-plum);border-color:var(--sheet-plum)}
.fmListRow input:checked+.fmListTick::after{content:"";width:8px;height:4px;border-left:2px solid white;border-bottom:2px solid white;transform:translateY(-1px) rotate(-45deg)}
.fmListRow:has(input:focus-visible),.fmListSheet button:focus-visible,.fmListSheet input:focus-visible{outline:3px solid #af438c;outline-offset:2px}
.fmListFooter{padding:10px 24px max(18px,env(safe-area-inset-bottom));border-top:1px solid var(--sheet-line);background:var(--sheet-bg)}
.fmListSummary{color:var(--sheet-muted);font-size:12px;text-align:center;margin:0 0 10px}.fmListError,.fmListCreateError{color:#b42449;font-size:13px;line-height:1.4;margin:6px 0}.fmListError:empty,.fmListCreateError:empty{display:none}
.fmListDone{width:100%;height:50px;background:var(--sheet-plum);color:#fff;border:0;border-radius:16px;font-weight:600!important;box-shadow:0 4px 12px #7a1d5e15}.fmListDone:disabled{opacity:.65}
.fmListCreate{padding:8px 12px 12px}.fmListCreate>label{display:block;font-size:13px;margin-bottom:7px;color:var(--sheet-muted)}.fmListCreate>div{display:flex;gap:8px}.fmListCreate input{width:100%;min-width:0;border:1px solid #d9c5d2;padding:11px 12px;border-radius:12px;background:var(--sheet-bg);color:var(--sheet-text)}.fmListCreate button{padding:0 16px;background:var(--sheet-plum);color:white;border:0;border-radius:12px}
body.dark dialog.fmListSheet{--sheet-bg:#211b22;--sheet-text:#f9eff7;--sheet-muted:#c7b5c2;--sheet-line:#3b2c38;--sheet-plum:#a93a85;border-color:#46323f}.dark .fmListClose{background:#392734;color:#e1cbd9}.dark .fmListRow:has(input:checked),.dark .fmListNew:hover{background:#3a2435}.dark .fmListCreate input{border-color:#73566a}.dark .fmListError,.dark .fmListCreateError{color:#ffa2b7}
@media(min-width:700px){dialog.fmListSheet{inset:0;margin:auto;border-radius:28px;border-bottom:1px solid var(--sheet-line);max-height:min(90dvh,850px)}}
@media(max-height:700px){.fmListHeading{padding-bottom:12px}.fmListRow{min-height:46px}.fmListSheet h3{margin-top:12px}.fmListHandle{margin-bottom:10px}}
@media(prefers-reduced-motion:no-preference){dialog.fmListSheet[open]{animation:fmListEnter .18s ease-out}@keyframes fmListEnter{from{opacity:.6;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}}
