:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--bg:#fff;--fg:#1a1a1a;--muted:#6b6b6b;--accent:#2f6f4f;--border:#e2e2e2;font-family:system-ui,-apple-system,sans-serif}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#14161a;--fg:#f1f1f1;--muted:#9a9a9a;--border:#2a2d33}}*{box-sizing:border-box}html,body{margin:0;padding:0;overflow-x:hidden}body{background:var(--bg);color:var(--fg)}#root{min-height:100vh}button{font-family:inherit}.login-screen{justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.login-card{flex-direction:column;gap:4px;width:100%;max-width:360px;display:flex}.login-logo{width:100%;max-width:220px;height:auto;margin:0 auto 4px;display:block}.login-subtitle{text-align:center;color:var(--muted);margin:0 0 20px;font-size:14px}.login-error{color:#c0392b;margin:0 0 12px;font-size:14px}.login-card label{margin-top:12px;font-size:13px}.login-card input{border:1px solid var(--border);color:var(--fg);background:0 0;border-radius:6px;padding:10px;font-size:15px}.login-card button{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:6px;margin-top:20px;padding:10px;font-size:15px}.login-card button:disabled{opacity:.6;cursor:default}.item-tile{border:1px solid var(--border);background:var(--border);border-radius:8px;text-decoration:none;transition:transform .12s;display:block;overflow:hidden}.item-tile:hover{transform:scale(1.03)}.item-tile-cover{aspect-ratio:2/3;object-fit:cover;width:100%;display:block}.item-tile-cover--placeholder{text-align:center;color:var(--muted);justify-content:center;align-items:center;padding:8px;font-size:12px;line-height:1.3;display:flex}.item-card{color:var(--fg);border:1px solid var(--border);border-radius:8px;gap:10px;text-decoration:none;display:flex;overflow:hidden}.item-card--list{flex-direction:row;align-items:center;padding:6px}.item-card-cover{object-fit:cover;background:var(--border);border-radius:4px;flex-shrink:0;width:48px;height:72px}.item-card-body{flex-direction:column;gap:2px;min-width:0;padding:8px 10px;font-size:13px;display:flex}.item-card-body strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.item-card-creators,.item-card-meta,.item-card-owner{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.collection{max-width:960px;margin:0 auto;padding:20px}.collection-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.collection-logo{width:auto;height:49.68px;display:block}.collection-header-actions{color:var(--muted);align-items:center;gap:10px;font-size:13px;display:flex}.collection-header-actions a{color:var(--muted);text-decoration:none}.collection-header-actions a:hover{color:var(--fg)}.collection-wishlist-banner{color:var(--muted);margin:0 0 12px;font-size:13px}.collection-wishlist-banner a{color:var(--accent)}.collection-toolbar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:20px;display:flex}.collection-toolbar input[type=search]{border:1px solid var(--border);min-width:140px;color:var(--fg);background:0 0;border-radius:6px;flex:1;padding:8px}.collection-toolbar button,.collection-toolbar select{border:1px solid var(--border);color:var(--fg);background:0 0;border-radius:6px;padding:8px 10px}.collection-view-toggle{gap:2px;display:flex}.collection-view-toggle button.active{background:var(--accent);color:#fff;border-color:var(--accent)}.collection-add{background:var(--accent);color:#fff;border-radius:6px;padding:8px 12px;font-size:14px;text-decoration:none}.collection-items--grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px;display:grid}.collection-items--list{flex-direction:column;gap:8px;display:flex}@media (width<=480px){.collection-items--grid{grid-template-columns:repeat(2,1fr)}}.season-browser{margin:20px 0}.season-browser-header{justify-content:space-between;align-items:center;gap:10px;display:flex}.season-browser-header h2{margin:0;font-size:16px}.season-browser-header button{border:1px solid var(--border);color:var(--fg);cursor:pointer;background:0 0;border-radius:6px;padding:6px 10px;font-size:12px}.season-browser-empty{color:var(--muted);margin-top:8px;font-size:13px}.season-list{flex-direction:column;gap:6px;margin:10px 0 0;padding:0;list-style:none;display:flex}.season-row{border:1px solid var(--border);width:100%;color:var(--fg);text-align:left;cursor:pointer;background:0 0;border-radius:6px;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;font-size:13px;display:flex}.season-row-meta{color:var(--muted);flex-shrink:0;font-size:12px}.episode-list{border-left:2px solid var(--border);flex-direction:column;gap:4px;margin:6px 0 0;padding:0 0 0 12px;list-style:none;display:flex}.episode-item{align-items:baseline;gap:8px;padding:6px 10px;font-size:12px;display:flex}.episode-number{color:var(--muted);flex-shrink:0}.episode-name{flex:1;min-width:0}.episode-date{color:var(--muted);white-space:nowrap;flex-shrink:0}.episode-date--upcoming{color:var(--accent);font-weight:600}.play-tracker h2{margin:20px 0 10px;font-size:16px}.play-tracker-stats{color:var(--muted);flex-wrap:wrap;gap:12px;margin-bottom:10px;font-size:13px;display:flex}.play-tracker-actions{gap:8px;margin-bottom:12px;display:flex}.play-tracker-actions button{border:1px solid var(--border);color:var(--fg);cursor:pointer;background:0 0;border-radius:6px;padding:8px 14px;font-size:13px}.play-tracker-actions button:first-child{background:var(--accent);color:#fff;border-color:#0000}.play-tracker-actions button:disabled{opacity:.6;cursor:not-allowed}.play-session-list{flex-direction:column;gap:8px;margin:12px 0 0;padding:0;list-style:none;display:flex}.play-session-item{border-top:1px solid var(--border);color:var(--muted);flex-wrap:wrap;align-items:center;gap:10px;padding-top:8px;font-size:13px;display:flex}.play-session-remove{color:var(--muted);cursor:pointer;background:0 0;border:none;margin-left:auto;padding:0;font-size:12px;text-decoration:underline}.tag-input{margin:10px 0}.tag-input-chips{flex-wrap:wrap;gap:6px;margin-bottom:8px;display:flex}.tag-chip{border:1px solid var(--border);color:var(--muted);border-radius:999px;align-items:center;gap:6px;padding:3px 10px;font-size:12px;display:inline-flex}.tag-chip button{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:0;font-size:13px;line-height:1}.tag-chip button:hover{color:#c0392b}.tag-input-form{gap:6px;display:flex}.tag-input-form input{border:1px solid var(--border);max-width:200px;color:var(--fg);background:0 0;border-radius:6px;flex:1;padding:5px 8px;font-size:12px}.tag-input-form button{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:5px 10px;font-size:12px}.tag-input-form button:disabled{opacity:.6;cursor:not-allowed}.item-detail{max-width:720px;margin:0 auto;padding:20px}.item-detail-back{color:var(--muted);font-size:13px;text-decoration:none}.item-detail-header{gap:20px;margin:16px 0;display:flex}.item-detail-cover-block{flex-direction:column;flex-shrink:0;gap:6px;width:140px;display:flex}.item-detail-cover{object-fit:cover;border:1px solid var(--border);border-radius:8px;width:140px;height:210px}.item-detail-cover--placeholder{background:var(--border)}.item-detail-cover-change{color:var(--muted);text-align:center;border:1px dashed var(--border);cursor:pointer;border-radius:6px;padding:4px;font-size:11px}.item-detail-cover-change input{display:none}.item-detail-cover-reset{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:0;font-size:11px;text-decoration:underline}.item-detail-info{min-width:0}.item-detail-info h1{margin:0 0 2px;font-size:22px}.item-detail-series{color:var(--accent);margin:0 0 6px;font-size:13px;font-weight:600}.item-detail-creators,.item-detail-owner{color:var(--muted);margin:2px 0;font-size:13px}.badge-row{flex-wrap:wrap;gap:6px;margin:10px 0;display:flex}.badge{border:1px solid var(--border);color:var(--muted);border-radius:999px;padding:3px 9px;font-size:11px}.item-detail-delete{color:#c0392b;cursor:pointer;background:0 0;border:1px solid #c0392b;border-radius:6px;margin-top:10px;padding:6px 10px;font-size:12px}.item-detail-delete:disabled{opacity:.6;cursor:not-allowed}.item-detail-delete-confirm{flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;display:flex}.item-detail-delete-confirm span{color:var(--muted);font-size:12px}.item-detail-delete-confirm .item-detail-delete{color:#fff;background:#c0392b;margin-top:0}.item-detail-cancel{border:1px solid var(--border);color:var(--muted);cursor:pointer;background:0 0;border-radius:6px;margin-top:0;padding:6px 10px;font-size:12px}.item-detail-acquire{border:1px solid var(--accent);color:var(--accent);cursor:pointer;background:0 0;border-radius:6px;margin-top:10px;padding:6px 10px;font-size:12px}.item-detail-acquire-form{flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;display:flex}.item-detail-acquire-form select{border:1px solid var(--border);color:var(--fg);background:0 0;border-radius:6px;padding:6px;font-size:12px}.item-detail-acquire-form button:not(.item-detail-cancel){background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:6px 10px;font-size:12px}.item-detail-acquire-form button:disabled{opacity:.6;cursor:not-allowed}.item-detail-description{font-size:14px;line-height:1.5}.stats-card{border:1px solid var(--border);border-radius:8px;align-items:center;gap:20px;margin:20px 0;padding:14px 18px;display:flex}.stats-rating{flex-direction:column;flex-shrink:0;gap:2px;display:flex}.stats-rating-value{font-size:28px;font-weight:700}.stats-rating-label{color:var(--muted);font-size:12px}.stats-histogram{flex:1;align-items:flex-end;gap:4px;height:36px;display:flex}.stats-bar{background:var(--accent);border-radius:2px 2px 0 0;flex:1;min-height:2px}.item-detail-related h2,.item-detail-reviews h2,.tv-progress h2{margin:20px 0 10px;font-size:16px}.tv-progress .review-form{flex-flow:wrap;align-items:flex-end;gap:12px}.tv-progress .review-form label{flex-direction:column;align-items:flex-start;gap:4px}.tv-progress .review-form input,.tv-progress .review-form select{border:1px solid var(--border);color:var(--fg);background:0 0;border-radius:6px;padding:6px}.tv-progress .review-form input[type=number]{width:80px}.related-row{gap:10px;padding-bottom:4px;display:flex;overflow-x:auto}.related-tile{flex-shrink:0;width:90px;text-decoration:none;position:relative}.related-tile img,.related-tile-placeholder{object-fit:cover;border:1px solid var(--border);border-radius:6px;width:90px;height:135px;display:block}.related-tile-placeholder{text-align:center;color:var(--muted);background:var(--border);justify-content:center;align-items:center;padding:6px;font-size:11px;display:flex}.related-tile-badge{color:#fff;background:#000000b3;border-radius:999px;padding:1px 6px;font-size:11px;position:absolute;bottom:6px;right:6px}.review-form{flex-direction:column;gap:8px;margin-bottom:20px;display:flex}.review-form label{align-items:center;gap:6px;font-size:13px;display:flex}.review-form input[type=number]{width:60px;padding:4px}.review-form textarea{border:1px solid var(--border);min-height:70px;color:var(--fg);resize:vertical;background:0 0;border-radius:6px;padding:8px;font-family:inherit}.review-form button{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:6px;align-self:flex-start;padding:8px 14px}.review-list{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.review-item{border-top:1px solid var(--border);gap:10px;padding-top:12px;font-size:13px;display:flex}.review-avatar{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:13px;font-weight:700;display:flex}.review-body{min-width:0}.review-meta{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.review-stars{color:var(--accent);letter-spacing:1px;font-size:13px}.review-score{color:var(--muted);font-size:12px}.review-item p{color:var(--fg);margin:4px 0 0;line-height:1.4}.scanner{flex-direction:column;align-items:center;gap:10px;display:flex}.scanner-video{background:#000;border-radius:8px;width:100%;max-width:420px}.scanner-hint{color:var(--muted);margin:0;font-size:13px}.scanner-error{text-align:center;flex-direction:column;align-items:center;gap:12px;padding:20px;display:flex}.wizard{max-width:480px;margin:0 auto;padding:24px 20px}.wizard-methods{flex-direction:column;gap:12px;display:flex}.wizard-methods button,.wizard-search button,.wizard-confirm button{border:1px solid var(--border);background:var(--accent);color:#fff;cursor:pointer;border-radius:6px;padding:12px;font-size:15px}.wizard-search button:disabled,.wizard-confirm button:disabled{background:var(--border);color:var(--muted);cursor:not-allowed}.wizard-search{gap:8px;margin-bottom:16px;display:flex}.wizard-search input{border:1px solid var(--border);color:var(--fg);background:0 0;border-radius:6px;flex:1;padding:10px;font-size:15px}.wizard-results{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.wizard-result{border:1px solid var(--border);width:100%;color:var(--fg);text-align:left;cursor:pointer;background:0 0;border-radius:6px;align-items:center;gap:12px;padding:10px;display:flex}.wizard-result img{object-fit:cover;border-radius:3px;width:40px;height:60px}.wizard-confirm{flex-direction:column;gap:10px;display:flex}.wizard-confirm-cover{border-radius:4px;width:100px;height:auto}.wizard-confirm-cover--missing{text-align:center;width:100px;height:150px;color:var(--muted);background:var(--border);border:1px dashed var(--muted);justify-content:center;align-items:center;padding:6px;font-size:11px;display:flex}.wizard-cover-import{color:var(--muted);flex-direction:column;gap:4px;font-size:12px;display:flex}.wizard-confirm label{align-items:center;gap:8px;font-size:14px;display:flex}.wizard-format select{margin-left:8px;padding:6px}.wizard-error{color:#c0392b;font-size:14px}.stats-page{max-width:720px;margin:0 auto;padding:20px}.stats-back{color:var(--muted);font-size:13px;text-decoration:none}.stats-page h1{margin:8px 0 24px;font-size:22px}.stats-section{margin-bottom:32px}.stats-section h2{margin:0 0 12px;font-size:16px}.stats-section h3{color:var(--muted);margin:20px 0 8px;font-size:13px;font-weight:600}.stats-section-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.stats-section-header h2{margin:0}.stats-section-header select{border:1px solid var(--border);color:var(--fg);background:0 0;border-radius:6px;padding:6px 8px}.stats-empty{color:var(--muted);font-size:14px}.stats-tiles{flex-wrap:wrap;gap:12px;display:flex}.stats-tile{border:1px solid var(--border);border-radius:8px;flex-direction:column;flex:1;gap:4px;min-width:120px;padding:14px 16px;display:flex}.stats-tile-value{font-size:24px;font-weight:700}.stats-tile-label{color:var(--muted);font-size:12px}.stats-top-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.stats-top-list li{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:10px;padding-top:8px;font-size:13px;display:flex}.stats-top-list a{color:var(--fg);align-items:center;gap:10px;min-width:0;text-decoration:none;display:flex}.stats-top-list a span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.stats-top-list img{object-fit:cover;border-radius:3px;flex-shrink:0;width:32px;height:48px}.stats-top-rating{color:var(--muted);flex-shrink:0}.top-lists-page{max-width:720px;margin:0 auto;padding:20px}.top-lists-back{color:var(--muted);font-size:13px;text-decoration:none}.top-lists-page h1{margin:8px 0 20px;font-size:22px}.top-lists-create{gap:8px;margin-bottom:20px;display:flex}.top-lists-create input{border:1px solid var(--border);color:var(--fg);background:0 0;border-radius:6px;flex:1;padding:10px;font-size:14px}.top-lists-create button{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:10px 16px}.top-lists-create button:disabled{opacity:.6;cursor:not-allowed}.top-lists-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.top-lists-list a{border:1px solid var(--border);color:var(--fg);border-radius:8px;flex-direction:column;gap:2px;padding:12px 14px;text-decoration:none;display:flex}.top-lists-meta{color:var(--muted);font-size:12px}.top-list-detail{max-width:720px;margin:0 auto;padding:20px}.top-list-detail h1{margin:8px 0 4px;font-size:22px}.top-list-description{color:var(--muted);margin:0 0 4px;font-size:14px}.top-list-actions{flex-wrap:wrap;gap:8px;margin:10px 0;display:flex}.top-list-edit-form{flex-direction:column;gap:8px;margin:10px 0;display:flex}.top-list-edit-form input,.top-list-edit-form textarea{border:1px solid var(--border);color:var(--fg);background:0 0;border-radius:6px;padding:8px;font-family:inherit;font-size:14px}.top-list-edit-form textarea{resize:vertical;min-height:60px}.top-list-edit-actions{gap:8px;display:flex}.top-list-edit-actions button:first-child{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:8px 14px}.top-list-edit-actions button:disabled{opacity:.6;cursor:not-allowed}.top-list-items{flex-direction:column;gap:8px;margin:20px 0;padding:0;list-style:none;display:flex}.top-list-row{border:1px solid var(--border);background:var(--bg);border-radius:8px;align-items:center;gap:10px;padding:8px;display:flex}.top-list-handle{color:var(--muted);cursor:grab;touch-action:none;background:0 0;border:none;padding:4px;font-size:16px}.top-list-row-link{color:var(--fg);flex:1;align-items:center;gap:10px;min-width:0;text-decoration:none;display:flex}.top-list-row-link img,.top-list-row-placeholder{object-fit:cover;background:var(--border);border-radius:4px;flex-shrink:0;width:36px;height:54px}.top-list-row-link span{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.top-list-remove{color:var(--muted);cursor:pointer;background:0 0;border:none;flex-shrink:0;font-size:12px;text-decoration:underline}.top-list-add{margin-top:24px}.top-list-add h2{margin:0 0 10px;font-size:16px}.top-list-add-search{gap:8px;display:flex}.top-list-add-search input{border:1px solid var(--border);color:var(--fg);background:0 0;border-radius:6px;flex:1;padding:8px}.top-list-add-search button{border:1px solid var(--border);color:var(--fg);cursor:pointer;background:0 0;border-radius:6px;padding:8px 14px}.top-list-add-results{flex-direction:column;gap:6px;margin:10px 0 0;padding:0;list-style:none;display:flex}.top-list-add-results button{border:1px solid var(--border);width:100%;color:var(--fg);text-align:left;cursor:pointer;background:0 0;border-radius:6px;align-items:center;gap:10px;padding:8px;font-size:13px;display:flex}.top-list-add-results img{object-fit:cover;border-radius:3px;width:28px;height:42px}
