main.library{width:100%;max-width:var(--content-max);flex-direction:column;gap:24px;margin:0 auto;padding:32px 40px 48px;display:flex}.library-mobile{display:none}.library-head{justify-content:space-between;align-items:flex-end;gap:24px;display:flex}.library-titles{flex-direction:column;gap:8px;display:flex}.library-title{font-size:var(--size-title);letter-spacing:-.02em;margin:0;font-weight:500;line-height:1.15}.library-sub{font:400 var(--size-mono-sm) var(--font-mono);color:var(--text-3)}.library-import.gm-btn{border-color:var(--border-strong);color:var(--text);background:#ffffff0f;gap:10px;padding:10px 16px}.library-import.gm-btn:hover{background:#ffffff1a}.library-import svg{opacity:.7}.library-warning{border-radius:var(--radius-control);border:1px solid var(--warn-soft-border);color:var(--text-2);font-size:var(--size-caption);margin:0;padding:10px 14px}.library-tools{flex-direction:column;gap:12px;display:flex}.library-filters{border-radius:var(--radius-control);background:var(--surface);border:1px solid var(--border);flex-wrap:wrap;align-self:flex-start;gap:2px;padding:3px;display:flex}.library-filter{border-radius:var(--radius-pill);font-size:var(--size-small);white-space:nowrap;color:var(--text-3);transition:background var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out);align-items:center;gap:8px;padding:7px 12px;font-weight:500;display:flex}.library-filter:hover{color:var(--text)}.library-filter[aria-pressed=true]{background:var(--text);color:var(--text-on-light)}.library-filter-count{font:400 var(--size-mono-xs) var(--font-mono);color:var(--text-dim)}.library-search-row{align-items:center;gap:12px;display:flex}.library-search{border-radius:var(--radius-control);background:var(--surface);border:1px solid var(--border);min-width:0;height:38px;color:var(--text-3);transition:border-color var(--duration-fast) var(--ease-out);flex:1;align-items:center;gap:10px;padding:0 12px;display:flex}.library-search:focus-within{border-color:var(--border-hover)}.library-search svg{opacity:.6;flex:none}.library-search input{min-width:0;height:100%;color:var(--text);font:400 var(--size-small) var(--font-ui);background:0 0;border:0;outline:none;flex:1}.library-search input::placeholder{color:var(--text-4)}.library-search input::-webkit-search-cancel-button{display:none}.library-sort{flex:none;position:relative}.library-sort select{appearance:none;border-radius:var(--radius-control);background:var(--surface);border:1px solid var(--border);height:38px;color:var(--text-2);font:400 var(--size-small) var(--font-ui);cursor:pointer;padding:0 40px 0 14px}.library-sort svg{opacity:.55;pointer-events:none;margin-top:-7px;position:absolute;top:50%;right:12px}.library-count{font:400 var(--size-mono-sm) var(--font-mono);color:var(--text-4);white-space:nowrap}.library-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:28px 20px;margin:0;padding:0;list-style:none;display:grid}.library-card{--frame:var(--border);--frame-glow:none;flex-direction:column;gap:10px;min-width:0;display:flex}.library-card[data-status=perfect]{--frame:var(--perfect-frame);--frame-glow:0 0 0 1px #ffd16a66, 0 0 24px #ff770073}@supports (color:lab(0% 0 0)){.library-card[data-status=perfect]{--frame-glow:0 0 0 1px lab(86.3174% 9.5892 60.9829/.4), 0 0 24px lab(66.2158% 51.6357 81.4868/.45)}}.library-card[data-status=focus]{--frame:var(--accent);--frame-glow:0 0 18px #00d1db59}@supports (color:lab(0% 0 0)){.library-card[data-status=focus]{--frame-glow:0 0 18px lab(75.922% -46.8282 -19.1842/.35)}}.library-card-link{color:inherit;border-radius:var(--radius-card);flex-direction:column;gap:10px;text-decoration:none;display:flex}.library-frame{border-radius:var(--radius-card);background:var(--frame);box-shadow:var(--frame-glow);transition:box-shadow var(--duration) var(--ease-out);padding:2px;display:block}.library-card-link:hover .library-frame{box-shadow:var(--frame-glow,0 0 0 transparent), 0 0 0 1px var(--border-hover)}.library-card[data-status=perfect] .library-card-link:hover .library-frame,.library-card[data-status=focus] .library-card-link:hover .library-frame{box-shadow:var(--frame-glow)}.library-card-link:hover .library-name{text-underline-offset:3px;text-decoration:underline}.library-art{aspect-ratio:460/215;border-radius:var(--radius-tile);background:var(--surface-skeleton);display:block;position:relative;overflow:hidden}.library-art-name{text-align:center;background:repeating-linear-gradient(45deg, var(--surface-alt) 0 6px, var(--row-divider) 6px 12px);font:400 var(--size-mono-xs) var(--font-mono);color:var(--text-dim);justify-content:center;align-items:center;padding:12px;display:flex;position:absolute;inset:0}.library-art .gm-art{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.library-card[data-status=unimported] .gm-art,.library-card[data-status=none] .gm-art,.library-card[data-status=unplayed] .gm-art{filter:saturate(.35)brightness(.7)}.library-badge{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font:500 var(--size-mono-xs) var(--font-mono);color:var(--text-2);background:#0b0d12d1;border-radius:5px;padding:4px 8px;position:absolute;top:10px;left:10px}.library-card[data-status=focus] .library-badge{color:#34dde5;color:lab(80.3785% -40.7121 -16.7271)}.library-card[data-status=hunting] .library-badge{color:var(--text)}.library-card[data-status=aside] .library-badge{color:#e7ada3;color:lab(76.1988% 20.8153 13.9591)}.library-row{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.library-name{font-size:var(--size-body);white-space:nowrap;text-overflow:ellipsis;font-weight:500;overflow:hidden}.library-percent{font:500 var(--size-mono) var(--font-mono)}.library-card[data-status=perfect] .library-percent{color:var(--perfect-text)}.library-card[data-status=unimported] .library-percent,.library-card[data-status=none] .library-percent{color:var(--text-dim)}.library-card .gm-bar{background:var(--border);border-radius:2px}.library-meta{font:400 var(--size-mono-sm) var(--font-mono);color:var(--text-3)}.library-more{align-self:center}.library-empty{text-align:center;border:1px dashed var(--border-strong);border-radius:var(--radius-card);flex-direction:column;align-items:center;gap:12px;padding:48px;display:flex}.library-empty h2{font-size:var(--size-section);margin:0;font-weight:500}.library-empty p{font-size:var(--size-small);color:var(--text-3);margin:0}@media (max-width:768px){main.library{gap:16px;padding:16px 16px 24px}.library-desktop{display:none}.library-mobile{display:revert}.library-titles{gap:4px}.library-sub{font-size:var(--size-mono-xs)}.library-tools{grid-template-columns:minmax(0,1fr);gap:16px;display:grid}.library-search-row{display:contents}.library-search{border-radius:var(--radius-tile);border-color:var(--border-strong);order:-1;height:44px}.library-search input{font-size:var(--size-body)}.library-filters{scrollbar-width:none;background:0 0;border:0;border-radius:0;flex-wrap:nowrap;gap:8px;min-width:0;margin:0 -16px;padding:0 16px;overflow-x:auto}.library-filter{background:var(--surface);border:1px solid var(--border-strong);color:var(--text-2);font-size:var(--size-caption);border-radius:999px;flex:none;gap:4px;padding:9px 14px}.library-filter[aria-pressed=true]{border-color:var(--text)}.library-filter-count{font:inherit;color:inherit}.library-sorted{min-height:44px;font-size:var(--size-small);color:var(--text-3);align-items:center;display:flex}.library-tools{grid-template-columns:minmax(0,1fr) auto}.library-search,.library-filters{grid-column:1/-1}.library-sort{min-height:44px;font-size:var(--size-small);color:var(--text-2);align-items:center;gap:4px;display:flex}.library-sort select{opacity:0;width:100%;height:100%;padding:0;position:absolute;inset:0}.library-sort svg{margin:0;position:static}.library-count{display:none}.library-grid{grid-template-columns:1fr 1fr;gap:16px 12px}.library-card,.library-card-link{gap:6px}.library-frame{border-radius:var(--radius-tile)}.library-art{border-radius:8px}.library-card:not([data-status=perfect]):not([data-status=focus]) .library-frame{padding:1px}.library-badge{font-size:var(--size-micro);padding:2px 6px;top:6px;left:6px}.library-row{gap:6px}.library-name{font-size:var(--size-small)}.library-percent{font-size:var(--size-mono-xs)}.library-card .gm-bar{background:#ffffff1f;height:3px}.library-meta{font-size:var(--size-micro)}.library-empty{padding:32px 16px}}
