:root{--bg-primary: #0f0f1a;--bg-secondary: #1a1a2e;--bg-card: #16213e;--text-primary: #e0e0e0;--text-secondary: #a0a0b0;--accent: #e94560;--accent-hover: #ff6b81;--success: #4ecca3;--warning: #ffc857;--border: #2a2a4a;--radius: 12px;--shadow: 0 4px 12px rgba(0, 0, 0, .3);--safe-area-bottom: env(safe-area-inset-bottom, 0px);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color-scheme:dark}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}html{overflow-x:hidden}body{background:var(--bg-primary);color:var(--text-primary);min-height:100dvh;overflow-x:hidden;-webkit-text-size-adjust:100%}.icon{display:inline-block;vertical-align:-.125em;flex-shrink:0}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover)}button{cursor:pointer;border:none;font-family:inherit;background:none}img{max-width:100%;display:block}#navbar{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--bg-secondary);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:100;gap:12px}.nav-logo{text-decoration:none;display:flex;align-items:center;flex-shrink:0;gap:6px;color:var(--accent)}.nav-logo .icon{flex-shrink:0}.nav-logo-text{font-size:1.15rem;font-weight:800;color:var(--text-primary);letter-spacing:.02em}.nav-links{display:flex;gap:6px;align-items:center}.nav-links a{padding:8px 12px;border-radius:8px;font-size:.8rem;font-weight:600;color:var(--text-secondary);transition:all .2s;text-decoration:none;white-space:nowrap}.nav-links a:hover{color:var(--text-primary);background:var(--bg-card)}.nav-links a.active{color:var(--accent);background:#e945601a}.nav-links .nav-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border-radius:10px}.nav-links .nav-icon svg{flex-shrink:0}.nav-links .login-btn{background:var(--accent);color:#fff;margin-left:4px}#app{max-width:960px;margin:0 auto;padding:20px 16px;padding-bottom:calc(80px + var(--safe-area-bottom))}#toast-container{position:fixed;bottom:calc(20px + var(--safe-area-bottom));left:50%;transform:translate(-50%);z-index:1000;display:flex;flex-direction:column;align-items:center;gap:6px;pointer-events:none;width:max-content;max-width:92vw}.toast{display:flex;align-items:center;gap:6px;padding:8px 14px;border-radius:16px;font-size:.78rem;font-weight:600;letter-spacing:.01em;max-width:92vw;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);pointer-events:auto;cursor:pointer;opacity:0;transform:translateY(12px) scale(.92);transition:all .3s cubic-bezier(.34,1.56,.64,1);box-shadow:0 2px 12px #0000004d,0 0 0 1px #ffffff0a inset}.toast-visible{opacity:1;transform:translateY(0) scale(1)}.toast-exit{opacity:0;transform:translateY(-6px) scale(.92);transition-timing-function:ease-in;transition-duration:.2s}.toast-icon{display:flex;align-items:center;flex-shrink:0;opacity:.9}.toast-msg{line-height:1.3}.toast-success{background:#141428e0;color:#ffffffeb;border-left:3px solid var(--success)}.toast-success .toast-icon{color:var(--success)}.toast-error{background:#280f14e6;color:#ffffffeb;border-left:3px solid var(--accent)}.toast-error .toast-icon{color:var(--accent)}.toast-info{background:#141428e0;color:#fffc;border-left:3px solid var(--text-secondary)}.toast-info .toast-icon{color:var(--text-secondary)}.filters-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}.filters{display:flex;gap:8px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;flex:1;min-width:0;padding-right:4px;mask-image:linear-gradient(to right,black calc(100% - 24px),transparent);-webkit-mask-image:linear-gradient(to right,black calc(100% - 24px),transparent)}.filters::-webkit-scrollbar{display:none}.chip{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:20px;background:var(--bg-card);color:var(--text-secondary);font-size:.8rem;font-weight:600;border:1px solid var(--border);transition:all .2s;cursor:pointer;white-space:nowrap;flex-shrink:0}.chip:hover{border-color:var(--accent);color:var(--text-primary)}.chip.active{background:var(--accent);color:#fff;border-color:var(--accent)}.chip .count{background:#ffffff26;padding:1px 7px;border-radius:10px;font-size:.7rem}.chip.active .count{background:#ffffff40}.view-toggle{display:flex;gap:4px;flex-shrink:0}.view-btn{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:8px;background:var(--bg-card);color:var(--text-secondary);border:1px solid var(--border);cursor:pointer;transition:all .2s}.view-btn:hover{border-color:var(--accent);color:var(--text-primary)}.view-btn.active{background:var(--accent);color:#fff;border-color:var(--accent)}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.anime-card{position:relative;background:var(--bg-card);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);transition:transform .2s,box-shadow .2s}.anime-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0006}.anime-card a{display:block;color:inherit;text-decoration:none}.anime-card .cover{position:relative;aspect-ratio:3/4;overflow:hidden}.anime-card .cover img{width:100%;height:100%;object-fit:cover}.anime-card .badge{position:absolute;bottom:8px;left:8px;right:8px;background:#000000d9;color:var(--accent);padding:6px 10px;border-radius:8px;font-size:.72rem;font-weight:600;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.anime-card .badge.finale{background:#e94560e6;color:#fff}.status-badge{position:absolute;top:8px;left:8px;padding:3px 8px;border-radius:6px;font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.3px;z-index:2}.status-badge.releasing{background:var(--accent);color:#fff}.status-badge.not_yet_released{background:var(--warning);color:#1a1a2e}.status-badge.finished{background:var(--success);color:#1a1a2e}.status-badge.hiatus{background:var(--text-secondary);color:#fff}.watched-ribbon{position:absolute;top:8px;right:8px;background:linear-gradient(135deg,gold,#f0c040,gold);color:#1a1a00;padding:3px 10px;border-radius:6px;font-size:.6rem;font-weight:800;letter-spacing:.03em;z-index:2;box-shadow:0 2px 8px #ffd70059;text-shadow:0 1px 0 rgba(255,255,255,.3)}.seasons-badge{position:absolute;top:30px;left:8px;background:#000000bf;color:#fff;padding:2px 7px;border-radius:5px;font-size:.6rem;font-weight:700;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:2}.anime-card .info{padding:10px 12px}.anime-card .title{font-size:.85rem;font-weight:700;line-height:1.3;margin-bottom:2px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.anime-card .title-en{font-size:.7rem;color:var(--text-secondary);margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.anime-card .synopsis{font-size:.7rem;color:var(--text-secondary);line-height:1.4;margin-bottom:6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.anime-card .meta{display:flex;gap:4px;font-size:.65rem;color:var(--text-secondary);flex-wrap:wrap}.anime-card .meta span{background:var(--bg-secondary);padding:2px 6px;border-radius:4px;white-space:nowrap}.anime-card .action-btn{position:absolute;top:8px;right:8px;width:32px;height:32px;border-radius:50%;background:#000000b3;color:#fff;font-size:1.2rem;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);transition:background .2s;z-index:3}.anime-card .action-btn:hover{background:var(--accent-hover)}.detail{padding-bottom:32px}.detail .banner{position:relative;height:200px;margin:-16px -16px 0;overflow:hidden}.detail .banner img{width:100%;height:100%;object-fit:cover}.detail .banner img.cover-as-banner{filter:blur(20px) brightness(.4) saturate(1.2);transform:scale(1.3);object-position:center 30%}.detail .banner-fade{position:absolute;bottom:0;left:0;right:0;height:100px;background:linear-gradient(transparent,var(--bg-primary))}.detail .header{display:flex;gap:16px;margin-top:-60px;position:relative;z-index:1}.detail .cover-col{flex-shrink:0;display:flex;flex-direction:column;align-items:center;justify-content:space-between;width:120px;position:relative}.detail .header .cover-img{width:120px;height:120px;border-radius:var(--radius);box-shadow:var(--shadow);flex-shrink:0;object-fit:cover}.detail .cover-actions{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:auto;padding-top:10px}.cover-action-btn{width:36px;height:36px;border-radius:50%;border:1.5px solid var(--border);background:var(--bg-card);color:var(--text-secondary);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.cover-action-btn.not-in-list{background:var(--accent);border-color:var(--accent);color:#fff}.cover-action-btn.not-in-list:hover{background:var(--accent-hover)}.cover-action-btn.in-list{color:var(--text-secondary);opacity:.7}.cover-action-btn.in-list:hover{color:var(--accent);border-color:var(--accent);opacity:1}.detail .header-info{padding-top:64px;min-width:0;flex:1;display:flex;flex-direction:column}.detail .header-info h1{font-size:1.3rem;font-weight:800;line-height:1.15;margin-bottom:4px;word-wrap:break-word;overflow-wrap:break-word;letter-spacing:-.02em}.detail .title-en{color:var(--text-secondary);font-size:.75rem;margin-bottom:6px;word-wrap:break-word;overflow-wrap:break-word;opacity:.7}.detail .meta-line{display:flex;align-items:center;gap:6px;font-size:.72rem;color:var(--text-secondary);flex-wrap:wrap;line-height:1.6;margin-top:8px}.detail .meta-line .status{padding:2px 7px;border-radius:4px;font-weight:700;font-size:.6rem;text-transform:uppercase;letter-spacing:.3px}.detail .meta-line .status.releasing{background:var(--accent);color:#fff}.detail .meta-line .status.finished{background:var(--success);color:#1a1a2e}.detail .meta-line .status.not_yet_released{background:var(--warning);color:#1a1a2e}.detail .meta-line .status.hiatus{background:var(--text-secondary);color:#fff}.detail .meta-dot{opacity:.4}.detail .genre-line{font-size:.68rem;color:var(--text-secondary);opacity:.6;margin-top:8px}.tags-section{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:12px 16px;margin-top:4px;min-height:32px}.tags-chips{display:flex;gap:6px;flex-wrap:wrap}.tag-chip{display:inline-flex;align-items:center;gap:4px;background:var(--accent);color:#fff;border:none;border-radius:16px;padding:4px 10px;font-size:.75rem;font-weight:500;white-space:nowrap;cursor:pointer;transition:opacity .2s}.tag-chip:hover{opacity:.7}.tag-chip .tag-remove{background:none;border:none;color:#fff;cursor:pointer;padding:0;margin-left:2px;opacity:.7;display:flex;align-items:center}.tag-chip:hover .tag-remove{opacity:1}.tag-add-circle{width:36px;height:36px;margin-top:6px;opacity:1}.tag-add-circle:hover{border-color:var(--accent);color:var(--accent)}.tag-input{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:6px 12px;font-size:.8rem;color:var(--text-primary);outline:none;width:120px;transition:border-color .2s}.tag-input:focus{border-color:var(--accent)}.tag-input::placeholder{color:var(--text-secondary);opacity:.5}.tag-input-float{display:inline-block;width:120px;margin-top:8px}.detail-actions{display:flex;gap:8px;margin:14px 0 8px;flex-wrap:wrap;justify-content:flex-end}.detail-action-btn{padding:7px 16px;border-radius:8px;font-size:.78rem;font-weight:600;cursor:pointer;transition:all .2s;border:1px solid var(--border);white-space:nowrap}.detail-action-btn.primary{background:var(--accent);color:#fff;border-color:var(--accent)}.detail-action-btn.primary:hover{background:var(--accent-hover)}.detail-action-btn.secondary{background:var(--bg-card);color:var(--text-primary)}.detail-action-btn.secondary:hover{border-color:var(--success)}.detail-action-btn.ghost{background:transparent;color:var(--text-secondary);font-size:.7rem;padding:5px 12px;opacity:.6}.detail-action-btn.ghost:hover{opacity:1;color:var(--accent);border-color:var(--accent)}.detail-action-btn.watched{background:var(--success);color:#1a1a2e;border-color:var(--success)}.detail .next-ep{background:var(--bg-card);padding:12px 14px;border-radius:8px;font-size:.85rem;margin-top:20px;word-wrap:break-word}.detail .finale-tag{display:inline-block;background:var(--accent);color:#fff;padding:2px 8px;border-radius:4px;font-size:.7rem;font-weight:700;margin-left:8px}.detail .synopsis-section{margin-top:28px}.detail .synopsis-section h2{font-size:1rem;margin-bottom:14px}.detail .synopsis-section p{font-size:.88rem;line-height:1.65;color:var(--text-secondary);margin-bottom:12px;word-wrap:break-word;overflow-wrap:break-word}.season-list{margin-top:28px}.season-list h2{font-size:1rem;margin-bottom:14px}.season-list-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.season-list-header h2{margin-bottom:0;flex-shrink:0}.season-item-wrap{position:relative;display:flex;align-items:center;gap:0;margin-bottom:8px;overflow:hidden;border-radius:var(--radius)}.season-item{display:flex;align-items:center;gap:10px;padding:10px;border-radius:var(--radius);background:var(--bg-card);text-decoration:none;color:inherit;transition:all .2s;position:relative;flex:1;min-width:0}.season-item:hover{background:var(--bg-secondary)}.season-item.current{border-left:3px solid var(--accent);background:#e9456014}.season-item.watched{border-left:3px solid #ffd700;background:#ffd7000a}.season-item img{width:46px;height:46px;border-radius:8px;object-fit:cover;flex-shrink:0}.season-item .season-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.season-item .season-number{font-size:.65rem;color:var(--accent);font-weight:700;text-transform:uppercase;letter-spacing:.3px;display:flex;align-items:center;gap:4px}.season-item .season-title{font-size:.82rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.season-item .season-meta{display:flex;gap:6px;font-size:.65rem;color:var(--text-secondary);margin-top:2px;flex-wrap:wrap}.season-item .season-meta span{white-space:nowrap}.season-item .season-meta .status{padding:1px 5px;border-radius:4px;font-weight:700;font-size:.55rem;text-transform:uppercase}.season-item .current-badge{color:var(--accent);font-size:1rem;flex-shrink:0}.watched-tag{display:inline-flex;align-items:center;background:linear-gradient(135deg,gold,#f0c040);color:#1a1a00;padding:1px 6px;border-radius:3px;font-size:.5rem;font-weight:700}.swipe-action{position:absolute;left:0;top:0;bottom:0;width:70px;display:flex;align-items:center;justify-content:center;opacity:0;transform:scale(.5);z-index:5;pointer-events:none;border-radius:var(--radius) 0 0 var(--radius)}.swipe-action.swipe-watch{background:linear-gradient(135deg,var(--success),#3dbb91);color:#1a1a2e}.swipe-action.swipe-unwatch{background:linear-gradient(135deg,var(--text-secondary),#888);color:var(--bg-primary)}.swipe-action.swipe-ready{transform:scale(1)!important;opacity:1!important}@media (hover: hover){.swipe-action{left:auto;right:8px;top:50%;bottom:auto;transform:translateY(-50%) scale(.8);width:36px;height:36px;border-radius:50%;cursor:pointer;pointer-events:auto;z-index:5;transition:opacity .25s ease,transform .25s cubic-bezier(.34,1.56,.64,1)}.season-item-wrap:hover .swipe-action{opacity:1;transform:translateY(-50%) scale(1)}.swipe-action:hover{transform:translateY(-50%) scale(1.1)!important;filter:brightness(1.15)}.swipe-action:active{transform:translateY(-50%) scale(.95)!important}.season-item-wrap:hover .season-item{padding-right:52px}.season-item{transition:padding-right .25s ease,background .2s}}.season-item-wrap .season-item{position:relative;z-index:1;flex:1;min-width:0}.watch-progress-wrap{display:flex;align-items:center;gap:10px;margin-bottom:12px;padding:0 2px}.watch-progress-track{flex:1;height:6px;background:var(--bg-card);border-radius:3px;overflow:hidden;border:1px solid var(--border)}.watch-progress-fill{height:100%;background:linear-gradient(90deg,gold,#f0c040);border-radius:3px;transition:width .4s cubic-bezier(.4,0,.2,1);box-shadow:0 0 6px #ffd7004d}.watch-progress-wrap.complete .watch-progress-fill{box-shadow:0 0 12px #ffd70099;animation:progress-glow 1s ease-out}.watch-progress-label{font-size:.7rem;color:var(--text-secondary);white-space:nowrap;min-width:80px;text-align:right}.watch-progress-wrap.complete .watch-progress-label{color:gold;font-weight:600}@keyframes progress-glow{0%{box-shadow:0 0 6px #ffd7004d}50%{box-shadow:0 0 20px #ffd700b3}to{box-shadow:0 0 12px #ffd70099}}.watch-pulse{animation:watch-pulse .4s cubic-bezier(.175,.885,.32,1.275)}@keyframes watch-pulse{0%{transform:scale(1)}40%{transform:scale(1.18)}to{transform:scale(1)}}.watch-shrink{animation:watch-shrink .25s ease-out}@keyframes watch-shrink{0%{transform:scale(1)}40%{transform:scale(.85)}to{transform:scale(1)}}.watch-tag-enter{animation:tag-spring .35s cubic-bezier(.175,.885,.32,1.275)}@keyframes tag-spring{0%{transform:scale(0);opacity:0}60%{transform:scale(1.15);opacity:1}to{transform:scale(1);opacity:1}}.cascade-flash{animation:cascade-flash .5s ease-out}@keyframes cascade-flash{0%{background:#ffd70000}25%{background:#ffd7001f}to{background:#ffd70000}}.btn-sm{padding:6px 12px;font-size:.75rem;margin-top:0}.heart-btn{display:inline-flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;padding:4px;border-radius:50%;transition:transform .15s ease;color:var(--text-secondary);-webkit-tap-highlight-color:transparent}.cover-actions .heart-btn{width:36px;height:36px;border:1.5px solid var(--border);background:var(--bg-card);padding:0}.cover-actions .heart-btn.active{border-color:var(--accent);background:#e85d751a}.heart-btn:hover,.heart-btn.active{color:var(--accent)}.heart-btn .heart-svg{display:block}.heart-btn .heart-fill{opacity:0;transform-origin:center;transition:opacity .2s ease}.heart-btn.active .heart-fill{opacity:1}.heart-btn .heart-outline{transition:stroke .2s ease}.heart-btn.active .heart-outline{stroke:var(--accent)}.heart-bounce{animation:heart-spring .45s cubic-bezier(.175,.885,.32,1.275)}@keyframes heart-spring{0%{transform:scale(1)}15%{transform:scale(1.3)}30%{transform:scale(.85)}50%{transform:scale(1.15)}70%{transform:scale(.95)}to{transform:scale(1)}}@keyframes heart-disperse{0%{transform:translate(-50%,-50%) scale(.5)}to{transform:translate(calc(-50% + var(--final-x)),calc(-50% + var(--final-y))) scale(1)}}@keyframes heart-fade{0%,50%{opacity:1}to{opacity:0}}.detail-action-btn.favorite:hover{background:#e9456040}.favorite-badge{position:absolute;bottom:8px;right:8px;font-size:.7rem;filter:drop-shadow(0 1px 3px rgba(0,0,0,.5));z-index:2;pointer-events:none}.import-summary{display:flex;flex-direction:column;gap:8px;padding:16px 0}.import-stat{display:flex;align-items:center;gap:8px;font-size:.85rem;color:var(--text-secondary)}.import-stat.highlight{color:var(--success);font-weight:600}.import-stat.muted{opacity:.5}.import-num{font-size:1.1rem;font-weight:800;color:var(--text-primary);min-width:28px}.import-stat.highlight .import-num{color:var(--success)}.import-actions{display:flex;gap:10px;margin-top:8px}.import-progress{margin-top:16px}.import-progress-label{font-size:.78rem;color:var(--text-secondary);margin-top:6px;display:block;text-align:center}.imported-badge{position:absolute;bottom:8px;left:8px;font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.3px;background:#6464ffd9;color:#fff;padding:2px 6px;border-radius:4px;display:flex;align-items:center;gap:3px;z-index:2;pointer-events:none;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.prog-img{transition:filter .4s ease-out,opacity .4s ease-out}.prog-blur{filter:blur(12px);transform:scale(1.05)}.prog-loaded{filter:blur(0);transform:scale(1)}.skeleton-banner{height:200px;background:var(--bg-card);animation:shimmer 1.5s ease-in-out infinite}.skeleton-cover{background:var(--bg-card)!important;animation:shimmer 1.5s ease-in-out infinite}.skeleton-section{padding:20px 0}.skeleton-title{height:20px;width:200px;max-width:60%;background:var(--bg-card);border-radius:6px;margin-bottom:16px;animation:shimmer 1.5s ease-in-out infinite}.skeleton-line{height:14px;background:var(--bg-card);border-radius:4px;margin-bottom:10px;animation:shimmer 1.5s ease-in-out infinite}.skeleton-line.long{width:100%}.skeleton-line.medium{width:75%}.skeleton-line.short{width:45%}.skeleton-season{height:72px;background:var(--bg-card);border-radius:var(--radius);margin-bottom:8px;animation:shimmer 1.5s ease-in-out infinite}.season-loading-indicator{width:100%;height:2px;background:var(--bg-card);border-radius:1px;overflow:hidden;margin-top:8px}.season-loading-bar{width:40%;height:100%;background:linear-gradient(90deg,var(--accent),var(--accent-hover));border-radius:1px;animation:season-loading-slide 1.4s ease-in-out infinite}@keyframes season-loading-slide{0%{transform:translate(-100%)}to{transform:translate(350%)}}.season-list-header .expanding-dot{display:inline-block;width:6px;height:6px;background:var(--accent);border-radius:50%;margin-left:8px;animation:expanding-pulse 1s ease-in-out infinite;vertical-align:middle}@keyframes expanding-pulse{0%,to{opacity:.3;transform:scale(.8)}50%{opacity:1;transform:scale(1.2)}}.translating-indicator{display:inline-flex;align-items:center;color:var(--accent);margin-left:6px;animation:translate-wobble 2s ease-in-out infinite;vertical-align:middle}.translating-indicator .icon{filter:drop-shadow(0 0 3px var(--accent))}@keyframes translate-wobble{0%,to{transform:rotate(0) scale(1);opacity:.7}25%{transform:rotate(-8deg) scale(1.05);opacity:1}50%{transform:rotate(0) scale(1);opacity:.7}75%{transform:rotate(8deg) scale(1.05);opacity:1}}.skeleton-card{pointer-events:none}.skeleton-card .skeleton-img{aspect-ratio:3/4;background:var(--bg-secondary);animation:shimmer 1.5s ease-in-out infinite;border-radius:0}@keyframes shimmer{0%,to{opacity:.4}50%{opacity:.8}}.list-view{display:flex;flex-direction:column;gap:6px}.list-row{display:flex;align-items:center;gap:12px;padding:8px 12px;background:var(--bg-card);border:1px solid var(--border);border-radius:10px;text-decoration:none;color:var(--text-primary);transition:border-color .2s;min-width:0}.list-row:hover{border-color:var(--accent)}.list-row .list-cover{width:40px;height:56px;object-fit:cover;border-radius:6px;flex-shrink:0}.list-row .list-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.list-row .list-title{font-size:.85rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.list-row .list-subtitle{font-size:.7rem;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.list-row .list-meta{display:flex;align-items:center;gap:6px;font-size:.7rem;color:var(--text-secondary);flex-wrap:wrap}.list-row .list-badge{font-size:.65rem;font-weight:600;white-space:nowrap}.list-row .list-ep{font-size:.7rem;color:var(--accent);white-space:nowrap}.list-row .list-score{font-size:.75rem;font-weight:600;color:var(--text-secondary);flex-shrink:0}.list-row.list-watched{border-color:#ffd7004d;background:#ffd70008}.list-row .list-watched-badge{position:absolute;left:6px;top:6px;background:linear-gradient(135deg,gold,#f0c040);color:#1a1a00;width:16px;height:16px;border-radius:50%;font-size:.55rem;font-weight:800;display:flex;align-items:center;justify-content:center;z-index:1;box-shadow:0 1px 4px #ffd7004d}.list-row{position:relative}.search-hero{padding:24px 0 16px}.search-title{font-size:2rem;font-weight:800;letter-spacing:-.03em;margin-bottom:16px;opacity:.9}.search-box input{width:100%;padding:12px 16px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-primary);font-size:1rem;outline:none;transition:border-color .2s}.search-box input:focus{border-color:var(--accent)}.search-box input::placeholder{color:var(--text-secondary)}.settings-group{background:var(--bg-card);border-radius:var(--radius);padding:16px;margin-bottom:16px}.settings-group h2{font-size:.95rem;font-weight:700;margin-bottom:12px}.setting-row{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid var(--border);font-size:.85rem;gap:12px}.setting-row:last-of-type{border-bottom:none}.prioritag-row{flex-direction:column;align-items:flex-start;gap:8px}.prioritag-header{display:flex;align-items:center;gap:8px;width:100%}.prioritag-hint{font-size:.7rem;color:var(--text-secondary);opacity:.7}.prioritag-content{width:100%;display:flex;flex-direction:column;gap:10px}.prioritag-chips{display:flex;flex-wrap:wrap;gap:6px}.prioritag-chip{display:inline-flex;align-items:center;gap:4px;background:var(--accent);color:#fff;border-radius:16px;padding:4px 10px;font-size:.75rem;font-weight:500;cursor:pointer;transition:opacity .2s}.prioritag-chip:hover{opacity:.7}.prioritag-x{font-size:.85rem;opacity:.7;margin-left:2px}.prioritag-chip:hover .prioritag-x{opacity:1}.prioritag-input-row{display:flex;gap:6px}.prioritag-input{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:6px 12px;font-size:.8rem;color:var(--text-primary);outline:none;width:100%;transition:border-color .2s}.prioritag-input:focus{border-color:var(--accent)}.prioritag-input::placeholder{color:var(--text-secondary);opacity:.5}.prioritag-confirm{width:36px;height:36px;flex-shrink:0;border-radius:50%;border:none;background:var(--accent);color:#fff;font-size:1.2rem;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:opacity .2s,transform .15s}.prioritag-confirm:active{transform:scale(.9)}.prioritag-confirm:hover{opacity:.85}.prioritag-chip-outline{background:transparent;color:var(--text-secondary);border:1px dashed var(--border);cursor:pointer}.prioritag-chip-outline:hover{border-color:var(--accent);color:var(--accent)}.tag-filter-chip{font-size:.8rem;font-weight:500}.search-tag-chips{display:flex;gap:6px;overflow-x:auto;padding:0 0 8px;scrollbar-width:none;-webkit-overflow-scrolling:touch}.search-tag-chips::-webkit-scrollbar{display:none}.filters .chip.wobble{animation:chip-wobble .2s ease-in-out infinite alternate}.filters .chip.wobble:nth-child(2n){animation-delay:.1s}@keyframes chip-wobble{0%{transform:rotate(-1.5deg)}to{transform:rotate(1.5deg)}}.drag-clone{position:fixed;z-index:9999;pointer-events:none;opacity:.9;transform:scale(1.1);box-shadow:0 4px 16px #0000004d;transition:none}.filters{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 20px;border-radius:10px;font-size:.85rem;font-weight:600;margin-top:8px;transition:all .2s;text-decoration:none;cursor:pointer;white-space:nowrap}.btn.primary{background:var(--accent);color:#fff;border:none}.btn.primary:hover{background:var(--accent-hover)}.btn.secondary{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border)}.btn.secondary:hover{border-color:var(--accent)}.btn.outline{background:transparent;border-style:dashed;opacity:.8;font-size:.85em}.btn.outline:hover{opacity:1;border-style:solid}.btn.danger{background:transparent;color:var(--accent);border:1px solid var(--accent)}.btn.danger:hover{background:var(--accent);color:#fff}.btn:disabled{opacity:.6;cursor:not-allowed}.empty{text-align:center;padding:48px 16px;color:var(--text-secondary)}.hint{font-size:.8rem;color:var(--text-secondary);margin-bottom:12px;line-height:1.5}.page-title{font-size:1.4rem;font-weight:800;margin-bottom:0}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.spinner{display:inline-block;width:14px;height:14px;border:2px solid var(--text-secondary);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-center{text-align:center;padding:48px;color:var(--text-secondary)}@media (max-width: 480px){#app{padding:16px 12px;padding-bottom:calc(80px + var(--safe-area-bottom))}.page-title{font-size:1.2rem}.grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}.detail .banner{height:160px;margin:-12px -12px 0}.detail .header{gap:12px}.detail .header .cover-img{width:100px;height:100px}.detail .header-info{padding-top:56px}.detail .header-info h1{font-size:1.1rem}.detail .meta-line{font-size:.68rem;gap:4px}.detail .next-ep{font-size:.8rem;padding:8px 12px}.detail-actions{gap:6px}.detail-action-btn{padding:6px 12px;font-size:.72rem}.season-list-header{flex-direction:column;align-items:stretch}.season-list-header .btn{text-align:center}.season-item{padding:8px;gap:8px}.season-item img{width:40px;height:40px}.season-item .season-title{font-size:.78rem}.season-item .season-meta{gap:4px;font-size:.6rem}.settings-group{padding:14px}.setting-row{flex-wrap:wrap}}.banner.pickable,.cover-img.pickable{cursor:pointer}.cover-img.pickable{transition:box-shadow .2s}.cover-img.pickable:hover{box-shadow:0 0 0 2px var(--accent),var(--shadow)}.pick-hint{position:absolute;top:8px;right:8px;background:#0009;padding:4px 8px;border-radius:6px;font-size:.7rem;opacity:0;transition:opacity .2s;pointer-events:none}.banner.pickable:hover .pick-hint{opacity:1}.image-picker-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;z-index:1000;display:flex;align-items:flex-end;justify-content:center;opacity:0;transition:opacity .2s}.image-picker-overlay.open{opacity:1}.image-picker{background:var(--bg-secondary);border-radius:16px 16px 0 0;width:100%;max-width:600px;max-height:80vh;overflow-y:auto;padding:16px;transform:translateY(100%);transition:transform .3s cubic-bezier(.4,0,.2,1)}.image-picker-overlay.open .image-picker{transform:translateY(0)}.image-picker-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.image-picker-header h3{font-size:1rem;font-weight:700}.image-picker-close{width:32px;height:32px;border-radius:50%;background:var(--bg-card);color:var(--text-secondary);display:flex;align-items:center;justify-content:center;font-size:.9rem;cursor:pointer}.image-picker-grid{display:grid;gap:10px}.image-picker-grid.banner{grid-template-columns:1fr}.image-picker-grid.cover{grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}.image-picker-item{position:relative;border-radius:10px;overflow:hidden;cursor:pointer;border:2px solid transparent;transition:border-color .2s;background:var(--bg-card)}.image-picker-item:hover{border-color:var(--accent)}.image-picker-item.selected{border-color:var(--success)}.image-picker-item img{width:100%;display:block}.image-picker-grid.banner .image-picker-item img{aspect-ratio:16/5;object-fit:cover}.image-picker-grid.cover .image-picker-item img{aspect-ratio:3/4;object-fit:cover}.image-picker-label{display:block;padding:6px 8px;font-size:.65rem;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.group-edit-sheet{background:var(--bg-secondary);border-radius:16px 16px 0 0;width:100%;max-width:600px;max-height:80vh;overflow-y:auto;padding:16px;transform:translateY(100%);transition:transform .3s cubic-bezier(.4,0,.2,1)}.image-picker-overlay.open .group-edit-sheet{transform:translateY(0)}.group-edit-members{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.group-edit-item{display:flex;align-items:center;gap:10px;padding:8px;background:var(--bg-card);border-radius:10px;transition:opacity .2s}.group-edit-item.excluded{opacity:.4}.group-edit-item.excluded .group-edit-title{text-decoration:line-through}.group-edit-item img{width:40px;height:56px;object-fit:cover;border-radius:6px;flex-shrink:0}.group-edit-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.group-edit-title{font-size:.82rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.group-edit-format{font-size:.65rem;color:var(--text-secondary);background:var(--bg-secondary);padding:1px 6px;border-radius:4px;width:fit-content}.group-edit-action{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.9rem;cursor:pointer;flex-shrink:0;transition:all .2s;border:1px solid var(--border);background:var(--bg-secondary);color:var(--text-secondary)}.group-edit-action.exclude{color:var(--accent)}.group-edit-action.exclude:hover{background:var(--accent);color:#fff}.group-edit-action.restore{color:var(--success)}.group-edit-action.restore:hover{background:var(--success);color:#1a1a2e}.group-edit-action.include{color:var(--success);font-size:1.1rem}.group-edit-action.include:hover{background:var(--success);color:#1a1a2e}.group-edit-search-section{margin-bottom:12px}.group-edit-search-input{width:100%;padding:10px 14px;background:var(--bg-card);border:1px solid var(--border);border-radius:10px;color:var(--text-primary);font-size:.85rem;outline:none;margin-bottom:8px;transition:border-color .2s}.group-edit-search-input:focus{border-color:var(--accent)}.group-edit-search-input::placeholder{color:var(--text-secondary)}.group-edit-search-results{display:flex;flex-direction:column;gap:4px}.group-edit-search-results .group-edit-item{cursor:pointer}.group-edit-search-results .group-edit-item:hover{border:1px solid var(--accent)}.group-edit-actions{display:flex;gap:8px;flex-wrap:wrap}.rating-inline{display:flex;align-items:center;gap:6px;font-size:.82rem;color:var(--text-secondary);margin-top:auto;padding-top:10px;flex-wrap:wrap}.rating-inline small{opacity:.6;font-size:.7rem}.rating-user{cursor:pointer;color:var(--warning);font-weight:600}.rating-user:hover{opacity:.8}.rating-cta{cursor:pointer;color:var(--accent);font-weight:600}.rating-cta:hover{color:var(--accent-hover)}.rating-editor{display:flex;align-items:center;gap:8px;padding:8px 0}.rating-slider{flex:1;min-width:100px;accent-color:var(--warning);height:6px;cursor:pointer}.rating-value{font-size:1rem;font-weight:700;color:var(--warning);min-width:30px;text-align:center}.detail-action-btn.favorite{background:#e9456026;color:var(--accent);border-color:var(--accent)}.detail-action-btn.favorite:hover{background:#e945604d}.favorite-badge{position:absolute;top:8px;right:8px;font-size:.7rem;z-index:2;filter:drop-shadow(0 1px 3px rgba(0,0,0,.5))}.watched-ribbon+.favorite-badge{top:30px}.view-controls{display:flex;align-items:center;gap:6px;flex-shrink:0}.sort-wrap{position:relative}.sort-btn{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:8px;background:var(--bg-card);border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;transition:all .15s ease}.sort-btn:hover,.sort-btn.active{color:var(--accent);border-color:var(--accent);background:#e9456014}.sort-menu{position:absolute;top:calc(100% + 6px);right:0;min-width:160px;background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:4px;z-index:100;opacity:0;transform:translateY(-4px) scale(.95);pointer-events:none;transition:opacity .15s ease,transform .15s ease;box-shadow:0 8px 24px #0000004d}.sort-menu.open{opacity:1;transform:translateY(0) scale(1);pointer-events:auto}.sort-option{display:block;width:100%;padding:8px 12px;border:none;background:transparent;color:var(--text-secondary);font-size:.78rem;font-weight:500;text-align:left;border-radius:8px;cursor:pointer;transition:all .1s ease}.sort-option:hover{background:#ffffff0d;color:var(--text-primary)}.sort-option.active{color:var(--accent);font-weight:700}.nav-loading{position:relative;pointer-events:none}.nav-loading:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.06) 50%,transparent 70%);background-size:200% 100%;animation:nav-shimmer 1.2s ease-in-out infinite;z-index:10}.nav-loading .cover img,.nav-loading .list-cover{opacity:.7;transition:opacity .15s ease}@keyframes nav-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.splash{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;gap:16px}.splash-icon{width:80px;height:80px;border-radius:20px;animation:splash-pulse 1.5s ease-in-out infinite}.splash-text{font-size:1.5rem;font-weight:800;color:var(--text-primary);opacity:.7}@keyframes splash-pulse{0%,to{transform:scale(1);opacity:.9}50%{transform:scale(1.05);opacity:1}}.login-hero{display:flex;flex-direction:column;align-items:center;text-align:center;padding:32px 16px;gap:12px}.login-hero-icon{width:72px;height:72px;border-radius:18px;box-shadow:0 4px 20px #e9456033;margin-bottom:8px}.login-hero h2{font-size:1.3rem;font-weight:800;color:var(--text-primary);margin:0}.settings-about{display:flex;flex-direction:column;align-items:center;text-align:center;padding:24px 16px 32px;gap:8px;opacity:.6}.about-icon{width:40px;height:40px;border-radius:10px}.about-text{font-size:.9rem;font-weight:700;color:var(--text-primary)}.about-text span{font-weight:400;color:var(--text-secondary);font-size:.8rem}.about-sub{font-size:.7rem;color:var(--text-secondary)}@keyframes fade-in{0%{opacity:0}}@keyframes fade-out{to{opacity:0}}@keyframes page-enter{0%{transform:translateY(18px) scale(.97);opacity:0}}@keyframes page-exit{to{transform:translateY(18px) scale(.97);opacity:0}}::view-transition-old(root){animation:.14s ease-in both fade-out}::view-transition-new(root){animation:.28s cubic-bezier(.22,1,.36,1) both page-enter}@keyframes float-up-out{to{transform:translateY(-20px);opacity:0}}.nav-back::view-transition-old(root){animation:.28s cubic-bezier(.4,0,.6,1) both float-up-out}.nav-back::view-transition-new(root){animation:.3s cubic-bezier(0,0,.2,1) both fade-in;animation-delay:80ms}::view-transition-group(anime-cover){animation-duration:.38s;animation-timing-function:cubic-bezier(.22,1,.36,1)}::view-transition-image-pair(anime-cover){overflow:clip}::view-transition-old(anime-cover),::view-transition-new(anime-cover){animation-duration:.38s;animation-timing-function:cubic-bezier(.22,1,.36,1);border-radius:var(--radius)}.anime-card .cover img{view-transition-name:none}.detail .cover-img{view-transition-name:anime-cover}.tinder-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--bg-primary);z-index:1001;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding-top:72px;padding-bottom:20px;box-sizing:border-box;opacity:0;transition:opacity .3s}.tinder-overlay.open{opacity:1}.tinder-header{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:16px 20px;z-index:10}.tinder-progress{font-size:.85rem;font-weight:700;color:var(--text-secondary)}.tinder-close{width:36px;height:36px;border-radius:50%;background:var(--bg-card);color:var(--text-secondary);display:flex;align-items:center;justify-content:center;font-size:1rem;cursor:pointer;border:1px solid var(--border)}.tinder-close:hover{border-color:var(--accent);color:var(--accent)}.tinder-stack{position:relative;width:85vw;max-width:400px;flex:1 1 0;max-height:60vh;min-height:200px}.tinder-card{position:absolute;top:0;right:0;bottom:0;left:0;perspective:1200px;will-change:transform;touch-action:none;user-select:none;-webkit-user-select:none}.tinder-card[data-depth="1"]{transform:scale(.95) translateY(12px);opacity:.7;z-index:1;transition:transform .35s ease-out,opacity .35s ease-out}.tinder-card[data-depth="2"]{transform:scale(.9) translateY(24px);opacity:.4;z-index:0;transition:transform .35s ease-out,opacity .35s ease-out}.tinder-card[data-depth="0"]{z-index:2}.tinder-card-inner{position:relative;width:100%;height:100%;transform-style:preserve-3d;transition:transform .6s cubic-bezier(.4,0,.2,1);border-radius:20px}.tinder-card.flipped .tinder-card-inner{transform:rotateY(180deg)}.tinder-card-front,.tinder-card-back{position:absolute;top:0;right:0;bottom:0;left:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:20px;overflow:hidden}.tinder-card-front{background:var(--bg-card)}.tinder-card-front img{width:100%;height:100%;object-fit:cover}.tinder-card-front .tinder-title-overlay{position:absolute;bottom:0;left:0;right:0;padding:40px 16px 16px;background:linear-gradient(transparent,#000000d9);color:#fff}.tinder-card-front .tinder-title{font-size:1.15rem;font-weight:800;line-height:1.2;margin-bottom:4px;text-shadow:0 2px 8px rgba(0,0,0,.5)}.tinder-card-front .tinder-subtitle{font-size:.75rem;opacity:.8;display:flex;gap:6px;flex-wrap:wrap}.tinder-format-badge{position:absolute;top:12px;left:12px;background:#000000b3;color:#fff;padding:4px 10px;border-radius:8px;font-size:.7rem;font-weight:700;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.tinder-score-badge{position:absolute;top:12px;right:12px;background:#000000b3;color:var(--warning);padding:4px 10px;border-radius:8px;font-size:.75rem;font-weight:700;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.tinder-card-back{transform:rotateY(180deg);background:var(--bg-secondary);display:flex;flex-direction:column;padding:20px}.tinder-card-back .tinder-back-title{font-size:1.05rem;font-weight:800;margin-bottom:12px;color:var(--text-primary)}.tinder-card-back .tinder-synopsis{flex:1;overflow-y:auto;font-size:.85rem;line-height:1.6;color:var(--text-secondary);padding-right:4px;-webkit-overflow-scrolling:touch}.tinder-card-back .tinder-synopsis::-webkit-scrollbar{width:4px}.tinder-card-back .tinder-synopsis::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.tinder-card-back .tinder-genres{display:flex;gap:6px;flex-wrap:wrap;margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}.tinder-genre-tag{padding:4px 10px;background:var(--bg-card);border-radius:12px;font-size:.7rem;color:var(--text-secondary);border:1px solid var(--border)}.tinder-card .tinder-feedback{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:20px;pointer-events:none;z-index:5;opacity:0;transition:opacity .15s;display:flex;align-items:center;justify-content:center}.tinder-feedback-accept{background:radial-gradient(circle at 70% 50%,rgba(78,204,163,.3),transparent 70%);border:3px solid var(--success)}.tinder-feedback-reject{background:radial-gradient(circle at 30% 50%,rgba(233,69,96,.3),transparent 70%);border:3px solid var(--accent)}.tinder-feedback-label{font-size:2.5rem;font-weight:900;text-transform:uppercase;letter-spacing:4px;transform:rotate(-15deg);padding:8px 16px;border-radius:8px}.tinder-feedback-accept .tinder-feedback-label{color:var(--success);border:4px solid var(--success)}.tinder-feedback-reject .tinder-feedback-label{color:var(--accent);border:4px solid var(--accent);transform:rotate(15deg)}.tinder-card.swipe-right{transition:transform .3s ease-out,opacity .25s ease-out;transform:translate(120vw) rotate(15deg)!important;opacity:0!important}.tinder-card.swipe-left{transition:transform .3s ease-out,opacity .25s ease-out;transform:translate(-120vw) rotate(-15deg)!important;opacity:0!important}.tinder-actions{display:flex;gap:24px;margin-top:24px;z-index:10;align-items:center}.tinder-action-btn{width:60px;height:60px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.6rem;cursor:pointer;transition:all .2s;border:2px solid var(--border);background:var(--bg-card)}.tinder-action-btn.reject{color:var(--accent)}.tinder-action-btn.reject:hover{background:var(--accent);color:#fff;border-color:var(--accent);transform:scale(1.1)}.tinder-action-btn.accept{color:var(--success)}.tinder-action-btn.accept:hover{background:var(--success);color:#1a1a2e;border-color:var(--success);transform:scale(1.1)}.tinder-action-btn.flip-btn{color:var(--text-secondary);font-size:1.2rem;width:48px;height:48px}.tinder-action-btn.flip-btn:hover{color:var(--warning);border-color:var(--warning)}.tinder-kbd-hint{position:absolute;bottom:20px;font-size:.7rem;color:var(--text-secondary);opacity:.4}.tinder-summary{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--bg-primary);z-index:1001;display:flex;flex-direction:column;align-items:center;overflow:hidden;padding:48px 20px 0;gap:0}.tinder-summary-scroll{flex:1;width:100%;max-width:500px;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:16px 0 56px;mask-image:linear-gradient(to bottom,black calc(100% - 56px),transparent 100%);-webkit-mask-image:linear-gradient(to bottom,black calc(100% - 56px),transparent 100%);display:flex;flex-direction:column;gap:24px}.tinder-summary-footer{width:100%;max-width:500px;padding:16px 0 32px;display:flex;flex-direction:column;gap:10px;background:var(--bg-primary)}.tinder-summary h2{font-size:1.3rem;font-weight:800;margin-bottom:4px}.tinder-summary .tinder-summary-stats{display:flex;gap:16px;margin:12px 0 20px}.tinder-summary-stat{display:flex;align-items:center;gap:6px;font-size:.9rem;font-weight:700}.tinder-summary-stat.accepted{color:var(--success)}.tinder-summary-stat.rejected{color:var(--accent)}.tinder-summary-list{width:100%;max-width:500px;display:flex;flex-direction:column;gap:6px;margin-bottom:20px}.tinder-summary-item{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:10px;background:var(--bg-card);border:1px solid var(--border)}.tinder-summary-item.accepted{border-color:#4ecca34d}.tinder-summary-item.rejected{border-color:#e9456033;opacity:.6}.tinder-summary-item img{width:36px;height:50px;object-fit:cover;border-radius:6px;flex-shrink:0}.tinder-summary-item .tinder-summary-title{flex:1;font-size:.82rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tinder-summary-item .tinder-summary-icon{font-size:1rem;flex-shrink:0}.tinder-summary-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-top:8px}.tinder-summary-progress{width:100%;max-width:500px;margin-top:16px}@media (hover: none){.tinder-actions,.tinder-kbd-hint{display:none}}.tinder-action-wrap{display:flex;flex-direction:column;align-items:center;gap:6px}.tinder-action-label{font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.reject-label{color:var(--accent)}.accept-label{color:var(--success)}.tinder-finish-btn{margin-top:32px;padding:12px 32px;border-radius:12px;background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-secondary);font-size:.85rem;font-weight:600;cursor:pointer;z-index:10;transition:all .2s}.tinder-finish-btn:hover{border-color:var(--accent);color:var(--accent);background:#e9456014}.tinder-summary-hero{text-align:center;animation:summary-reveal .6s cubic-bezier(.34,1.56,.64,1)}@keyframes summary-reveal{0%{opacity:0;transform:scale(.8) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.tinder-summary-big-num{font-size:5rem;font-weight:900;line-height:1;color:var(--success);text-shadow:0 0 40px rgba(78,204,163,.3);margin-bottom:4px}.tinder-summary-big-label{font-size:1.1rem;font-weight:600;color:var(--text-secondary);margin-bottom:8px}.tinder-summary-sub{font-size:.8rem;color:var(--text-secondary);opacity:.6}.tinder-summary-section{width:100%;max-width:500px}.tinder-summary-section-title{font-size:.85rem;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px;padding-left:4px}.tinder-accepted-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:8px}.tinder-accepted-item{position:relative;border-radius:10px;overflow:hidden;aspect-ratio:3/4;box-shadow:0 2px 8px #0000004d;border:2px solid rgba(78,204,163,.4)}.tinder-accepted-item img{width:100%;height:100%;object-fit:cover}.tinder-accepted-item .tinder-accepted-title{position:absolute;bottom:0;left:0;right:0;padding:28px 8px 8px;background:linear-gradient(transparent 0%,#000000b3 60%,#000000eb);font-size:.72rem;font-weight:700;color:#fff;line-height:1.25;letter-spacing:.01em}.tinder-rejected-list{display:flex;flex-wrap:wrap;gap:6px}.tinder-rejected-chip{padding:4px 10px;border-radius:8px;background:var(--bg-card);font-size:.7rem;color:var(--text-secondary);opacity:.5;border:1px solid var(--border)}.tinder-import-btn{display:inline-flex;align-items:center;gap:8px;padding:14px 36px;border-radius:14px;background:var(--success);color:#1a1a2e;font-size:1rem;font-weight:800;border:none;cursor:pointer;transition:all .2s;box-shadow:0 4px 20px #4ecca34d}.tinder-import-btn:hover{transform:translateY(-2px);box-shadow:0 6px 28px #4ecca366}.tinder-reaction{font-size:3.5rem;height:56px;display:flex;align-items:center;justify-content:center;opacity:0;margin-top:17px;pointer-events:none}.tinder-reaction.pop{animation:reaction-pop 1.1s cubic-bezier(.34,1.56,.64,1) forwards}.tinder-reaction.pop.accept{animation:reaction-pop-accept 1.1s cubic-bezier(.34,1.56,.64,1) forwards}@keyframes reaction-pop{0%{opacity:0;transform:scale(.1) translateY(16px)}20%{opacity:1;transform:scale(1.5) translateY(-6px)}40%{opacity:1;transform:scale(1.1) translateY(0)}70%{opacity:1;transform:scale(1.05) translateY(0)}to{opacity:0;transform:scale(.85) translateY(6px)}}@keyframes reaction-pop-accept{0%{opacity:0;transform:scale(.1) translateY(16px) rotate(-30deg)}20%{opacity:1;transform:scale(1.5) translateY(-6px) rotate(15deg)}40%{opacity:1;transform:scale(1.1) translateY(0) rotate(-8deg)}70%{opacity:1;transform:scale(1.05) translateY(0) rotate(3deg)}to{opacity:0;transform:scale(.85) translateY(6px) rotate(0)}}.cover-shimmer{width:100%;height:100%;border-radius:inherit;background:var(--bg-card);overflow:hidden;position:relative}.cover-shimmer:after{content:"";position:absolute;top:0;left:0;width:200%;height:100%;background:linear-gradient(110deg,transparent 25%,var(--border) 50%,transparent 75%);animation:shimmer 1.5s linear infinite;will-change:transform}@keyframes shimmer{0%{transform:translate(-50%)}to{transform:translate(50%)}}.tag-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;z-index:9999;display:flex;align-items:flex-start;justify-content:center;padding-top:10vh;opacity:0;transition:opacity .2s}.tag-modal-overlay.open{opacity:1}.tag-modal{background:var(--bg-secondary);border-radius:16px;width:calc(100% - 32px);max-width:480px;max-height:60vh;padding:16px;display:flex;flex-direction:column;gap:16px;transform:scale(.95);opacity:0;transition:transform .2s ease,opacity .2s ease}.tag-modal-overlay.open .tag-modal{transform:scale(1);opacity:1}.tag-modal-header{display:flex;justify-content:space-between;align-items:center}.tag-modal-header h3{margin:0;font-size:1.1rem;color:var(--text-primary)}.tag-modal-close{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:4px}.tag-modal-input{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:10px 14px;font-size:.95rem;color:var(--text-primary);outline:none;width:100%;box-sizing:border-box}.tag-modal-input:focus{border-color:var(--accent)}.tag-modal-tags{display:flex;flex-wrap:wrap;gap:8px;overflow-y:auto;max-height:45vh;padding:4px 0}.tag-modal-chip{background:var(--bg-card);border:1px solid var(--border);border-radius:20px;padding:6px 14px;font-size:.85rem;color:var(--text-secondary);cursor:pointer;transition:all .15s}.tag-modal-chip:hover{border-color:var(--accent);color:var(--text-primary)}.tag-modal-chip.active{background:var(--accent);border-color:var(--accent);color:#fff}.tag-modal-chip.new{background:transparent;border-color:var(--accent);color:var(--accent);border-style:dashed}.tag-modal-chip.new:hover{background:var(--accent);color:#fff}.tag-modal-create{display:none}.tag-modal-input-wrap{display:flex;align-items:center;background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:6px 10px 6px 14px;transition:border-color .2s}.tag-modal-input-wrap:focus-within{border-color:var(--accent)}.tag-modal-hash{color:var(--accent);font-size:1rem;font-weight:600;margin-right:2px}.tag-modal-input-wrap .tag-modal-input{background:none;border:none;padding:10px 0;flex:1}.tag-modal-input-wrap .tag-modal-input:focus{border-color:transparent}.anime-card{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.batch-mode .anime-card{cursor:pointer;-webkit-user-select:none;user-select:none}.batch-mode .anime-card:not(.batch-selected){opacity:.5}.batch-mode .anime-card.batch-selected{opacity:1}.batch-check{position:absolute;top:8px;right:8px;width:28px;height:28px;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;z-index:5;box-shadow:0 2px 8px #0000004d}.batch-bar{position:fixed;bottom:0;left:0;right:0;background:var(--bg-secondary);border-top:1px solid var(--border);padding:12px 16px calc(12px + var(--safe-area-bottom));z-index:9998;transform:translateY(100%);transition:transform .25s ease}.batch-bar.open{transform:translateY(0)}.batch-bar-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.batch-count{font-size:.95rem;font-weight:600;color:var(--text-primary)}.batch-close{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:4px}.batch-actions{display:flex;justify-content:space-around;gap:8px}.batch-action{display:flex;flex-direction:column;align-items:center;gap:4px;background:none;border:1px solid var(--border);border-radius:12px;color:var(--text-secondary);cursor:pointer;padding:10px 16px;flex:1;transition:all .15s;font-size:.75rem}.batch-action:hover,.batch-action:active{color:var(--accent);border-color:var(--accent);background:#e945601a}.tag-modal-chip.partial{background:#e945604d;border-color:var(--accent);color:var(--text-primary)}.tag-modal-confirm{background:var(--accent);border:none;color:#fff;padding:4px 10px;margin-block:4px;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .15s}.tag-modal-confirm:hover,.tag-modal-confirm:active{background:var(--accent-hover)}
