.fll-ratings{min-width:0;max-width:960px;margin:0 auto;padding:clamp(14px,2vw,26px)}
.fll-ratings-head{margin-bottom:24px}.fll-ratings-head p{margin:0 0 6px;color:var(--muted);font-size:.78rem;font-weight:800;letter-spacing:.14em}.fll-ratings-head h1{margin:0 0 8px;font-size:clamp(1.5rem,3vw,2rem)}.fll-ratings-head span{color:var(--muted)}
.fll-ratings-list{display:grid;gap:14px}.fll-ratings-card{min-width:0;padding:20px;border:1px solid var(--border);border-radius:16px;background:var(--surface);box-shadow:none}.fll-ratings-card header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.fll-ratings-card h2{margin:0;font-size:1.1rem;overflow-wrap:anywhere}.fll-ratings-card h2 small{color:var(--muted);font-size:.85em}.fll-ratings-card header p{margin:5px 0 0;color:var(--muted);font-size:.85rem}.fll-ratings-score{flex:none;color:var(--accent);letter-spacing:.05em;font-size:1.35rem;white-space:nowrap}.fll-ratings-comment{white-space:pre-wrap;overflow-wrap:anywhere;margin:16px 0 0;line-height:1.55}.fll-ratings-no-comment{margin:16px 0 0;color:var(--muted);font-style:italic}
.fll-ratings-more,.fll-ratings [data-ratings-retry]{margin-top:18px;padding:10px 15px;border:1px solid var(--border);border-radius:9px;background:transparent;color:inherit;font:inherit;font-weight:700;cursor:pointer}.fll-ratings-empty,.fll-ratings-error{padding:20px;border-radius:12px;background:var(--surface)}
@media(max-width:550px){.fll-ratings-card header{display:block}.fll-ratings-score{display:inline-block;margin-top:12px}}

.fll-ratings-summaries{display:grid;gap:16px}.fll-ratings-summary{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:24px;text-align:left;background:var(--panel);color:var(--text);border:1px solid var(--border);border-radius:16px;cursor:pointer}.fll-ratings-summary>span{display:flex;align-items:center;gap:16px}.fll-ratings-summary>span:first-child{align-items:flex-start;flex-direction:column;gap:6px}.fll-ratings-summary strong{font-size:1.15rem}.fll-ratings-summary small{color:var(--muted)}.fll-ratings-summary:hover{border-color:var(--accent)}.fll-ratings-summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.fll-ratings-average-stars{position:relative;display:inline-block;font-size:25px;line-height:1.2;letter-spacing:2px;color:var(--muted);white-space:nowrap}.fll-ratings-average-stars>span:last-child{position:absolute;inset:0 auto 0 0;overflow:hidden;color:var(--accent)}.fll-ratings-dialog{box-sizing:border-box;width:min(800px,calc(100vw - 32px));max-height:85dvh;overflow:auto;border:1px solid var(--border);border-radius:20px;padding:24px;background:var(--panel);color:var(--text);box-shadow:0 24px 90px color-mix(in srgb,var(--canvas) 70%,transparent);animation:fll-rating-enter .2s ease-out}.fll-ratings-dialog::backdrop{background:color-mix(in srgb,var(--canvas) 75%,transparent);backdrop-filter:blur(6px)}.fll-ratings-dialog>header{display:flex;align-items:center;justify-content:space-between;gap:12px}.fll-ratings-dialog h2{margin:0 0 16px}.fll-ratings-dialog button,.fll-ratings-dialog select{min-height:44px;padding:8px 12px;border:1px solid var(--control-border);border-radius:10px;background:var(--control-surface);color:inherit;font:inherit}.fll-ratings-dialog>label{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:20px}.fll-ratings-dialog [data-rows]{display:grid;gap:12px}.fll-ratings-dialog nav{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:20px}.fll-ratings-dialog .fll-ratings-card{min-width:0}.fll-ratings-comment{white-space:pre-wrap;overflow-wrap:anywhere}@keyframes fll-rating-enter{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}@media(max-width:540px){.fll-ratings-summary{padding:18px;align-items:flex-start;flex-direction:column}.fll-ratings-dialog{padding:18px}.fll-ratings-dialog .fll-ratings-card header{flex-direction:column;align-items:flex-start}}@media(prefers-reduced-motion:reduce){.fll-ratings-dialog{animation:none}}

.fll-ratings-sort{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:20px}
.fll-ratings-select{position:relative;max-width:100%}
.fll-ratings-select [data-order]{display:flex;align-items:center;justify-content:space-between;gap:24px;max-width:100%;padding:10px 16px;color:var(--control-text)}
.fll-ratings-select svg{width:16px;height:16px;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.fll-ratings-select [data-options]{position:absolute;z-index:3;top:calc(100% + 6px);inset-inline:0;min-width:max-content;padding:6px;background:var(--control-surface);border:1px solid var(--control-border);border-radius:12px;box-shadow:0 12px 28px color-mix(in srgb,var(--canvas) 60%,transparent)}
.fll-ratings-select [data-options][hidden]{display:none}
.fll-ratings-select [role=option]{display:block;width:100%;text-align:start;border:0;padding:10px 12px;color:var(--control-text);background:transparent}
.fll-ratings-select [role=option]:hover,.fll-ratings-select [role=option]:focus-visible{background:var(--control-hover);outline:2px solid var(--contrast-focus);outline-offset:-2px}
.fll-ratings-select [aria-selected=true]{background:var(--control-hover);box-shadow:inset 3px 0 var(--accent);font-weight:700}
.fll-ratings-card{color:var(--text)}

/* Keep the list scrollable inside the shared flex dialog. */
.dialog.fll-ratings-dialog[open]{display:flex;flex-direction:column;max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);overflow:hidden}
.dialog.fll-ratings-dialog>header,.dialog.fll-ratings-dialog>.fll-ratings-sort,.dialog.fll-ratings-dialog>[data-pages]{flex:0 0 auto}
.dialog.fll-ratings-dialog>[data-rows]{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-gutter:stable;align-content:start;padding:3px}
.dialog.fll-ratings-dialog>[data-rows]:focus-visible{outline:2px solid var(--accent);outline-offset:1px;border-radius:8px}
.dialog.fll-ratings-dialog>[data-pages]{flex-wrap:wrap;gap:12px}
@media(max-width:540px){.dialog.fll-ratings-dialog[open]{max-height:calc(100vh - 16px);max-height:calc(100dvh - 16px);padding:16px}.dialog.fll-ratings-dialog>header h2{font-size:1.25rem}.dialog.fll-ratings-dialog>[data-pages]{margin-top:12px}}
