*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--bg:#0d0d1a;--bg-card:#151528;--bg-card-hover:#1c1c35;--red:#cc0000;--red-dim:#991111;--text:#d0d0d8;--text-dim:#6a6a7a;--border:#2a2a3e;--progress-bg:#1a1a2e;--font:"Courier New","Consolas",monospace}html{font-size:15px}body{font-family:var(--font);background:var(--bg);color:var(--text);min-height:100vh;line-height:1.5;overflow-x:hidden;-webkit-tap-highlight-color:transparent}body:before{content:"";position:fixed;inset:0;background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(255,255,255,.008) 0,rgba(255,255,255,.008) 4px);pointer-events:none;z-index:9999}.container{max-width:900px;margin:0 auto;padding:1rem}header{text-align:center;padding:2rem 0 1rem;border-bottom:2px solid var(--red);margin-bottom:1.5rem;position:relative}header h1{font-size:2.2rem;letter-spacing:.5em;color:var(--red);text-transform:uppercase;font-weight:700;text-shadow:0 0 20px rgba(204,0,0,.3)}header .subtitle{font-size:.75rem;color:var(--text-dim);letter-spacing:.3em;margin-top:.3rem}.auth-area{position:absolute;top:.8rem;right:0;display:flex;align-items:center;gap:.6rem}.auth-area .user-name{font-size:.7rem;color:var(--text-dim);max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.auth-btn{background:none;border:1px solid var(--border);color:var(--text-dim);font-family:var(--font);font-size:.65rem;padding:.3rem .6rem;cursor:pointer;letter-spacing:.05em;transition:color .2s,border-color .2s}.auth-btn:hover{color:var(--red);border-color:var(--red)}.overall-progress{margin:1.5rem 0;text-align:center}.overall-progress .label{font-size:.8rem;color:var(--text-dim);letter-spacing:.15em;margin-bottom:.4rem}.progress-bar{background:var(--progress-bg);border:1px solid var(--border);height:10px;position:relative;overflow:hidden}.progress-bar.cut-corners{-webkit-clip-path:polygon(6px 0,100% 0,calc(100% - 6px) 100%,0 100%);clip-path:polygon(6px 0,100% 0,calc(100% - 6px) 100%,0 100%)}.progress-bar .fill{background:var(--red);height:100%;width:0;transition:width .3s ease}.progress-text{font-size:.75rem;color:var(--text-dim);margin-top:.3rem}.season-nav{display:flex;gap:0;margin-bottom:1.5rem;border-bottom:1px solid var(--border);overflow-x:auto;-webkit-overflow-scrolling:touch}.season-nav button{background:none;color:var(--text-dim);font-family:var(--font);font-size:.85rem;padding:.7rem 1.2rem;cursor:pointer;letter-spacing:.1em;white-space:nowrap;border:none;border-bottom:2px solid transparent;transition:color .2s,border-color .2s}.season-nav button:hover{color:var(--text)}.season-nav button.active{color:var(--red);border-bottom-color:var(--red)}.season-progress{margin-bottom:1.2rem}.season-progress .label{font-size:.75rem;color:var(--text-dim);letter-spacing:.1em;margin-bottom:.3rem}.disc-group{margin-bottom:1.5rem}.disc-header{display:flex;align-items:center;gap:1rem;padding:.6rem 0;border-bottom:1px solid var(--border);margin-bottom:.5rem}.disc-header .disc-label{font-size:.85rem;font-weight:700;color:var(--red);letter-spacing:.15em;white-space:nowrap}.disc-header .disc-progress-wrap{flex:1 1}.disc-header .progress-bar{height:6px}.disc-header .disc-progress-text{font-size:.7rem;color:var(--text-dim);margin-top:.15rem}.disc-header .mark-disc-btn{background:none;border:1px solid var(--border);color:var(--text-dim);font-family:var(--font);font-size:.65rem;padding:.25rem .5rem;cursor:pointer;letter-spacing:.05em;white-space:nowrap;transition:color .2s,border-color .2s}.disc-header .mark-disc-btn:hover{color:var(--red);border-color:var(--red)}.episode-card{background:var(--bg-card);border:1px solid var(--border);margin-bottom:.4rem;-webkit-clip-path:polygon(8px 0,100% 0,calc(100% - 8px) 100%,0 100%);clip-path:polygon(8px 0,100% 0,calc(100% - 8px) 100%,0 100%);transition:background .2s}.episode-card:hover{background:var(--bg-card-hover)}.episode-card.watched{opacity:.5}.episode-card.watched .ep-title{text-decoration:line-through;-webkit-text-decoration-color:var(--text-dim);text-decoration-color:var(--text-dim)}.ep-main{padding:.6rem 1rem .6rem 1.2rem;gap:.8rem;-webkit-user-select:none;-moz-user-select:none;user-select:none}.ep-check,.ep-main{display:flex;align-items:center;cursor:pointer}.ep-check{width:20px;height:20px;border:2px solid var(--border);justify-content:center;flex-shrink:0;transition:border-color .2s,background .2s}.ep-check:hover{border-color:var(--red)}.episode-card.watched .ep-check{border-color:var(--red);background:var(--red)}.ep-check-mark{display:none;color:#fff;font-size:.75rem;font-weight:700}.episode-card.watched .ep-check-mark{display:block}.ep-number{font-size:.7rem;color:var(--text-dim);min-width:70px;flex-shrink:0}.ep-number .menu-num{color:var(--red-dim);font-weight:700}.ep-title{font-weight:700;font-size:.9rem;flex:1 1}.ep-expand-icon{color:var(--text-dim);font-size:.7rem;flex-shrink:0;transition:transform .2s}.episode-card.expanded .ep-expand-icon{transform:rotate(90deg)}.ep-summary{display:none;padding:0 1rem .6rem 4.5rem;font-size:.8rem;color:var(--text-dim);line-height:1.6}.episode-card.expanded .ep-summary{display:block}.sync-badge{font-size:.6rem;color:var(--text-dim);letter-spacing:.1em;padding:.15rem .4rem;border:1px solid var(--border)}.sync-badge.local{border-color:var(--text-dim)}.sync-badge.synced{border-color:#2a6e2a;color:#4a9e4a}@media (max-width:768px){.container{padding:.75rem}header{padding:1.5rem 0 .8rem}header h1{font-size:1.8rem;letter-spacing:.4em}}@media (max-width:500px){html{font-size:14px}.container{padding:.5rem}header{padding:1rem 0 .6rem;margin-bottom:1rem}header h1{font-size:1.3rem;letter-spacing:.2em}header .subtitle{font-size:.6rem;letter-spacing:.15em}.auth-area{position:static;justify-content:center;margin-top:.5rem}.overall-progress{margin:1rem 0}.season-nav{gap:0;margin-bottom:1rem;scroll-snap-type:x mandatory;scrollbar-width:none}.season-nav::-webkit-scrollbar{display:none}.season-nav button{padding:.6rem .7rem;font-size:.75rem;letter-spacing:.05em;scroll-snap-align:start}.disc-header{flex-wrap:wrap;gap:.5rem}.disc-header .disc-label{font-size:.75rem}.disc-header .disc-progress-wrap{min-width:0;flex:1 1 60%}.disc-header .mark-disc-btn{font-size:.6rem;padding:.3rem .6rem;min-height:28px}.episode-card{-webkit-clip-path:polygon(5px 0,100% 0,calc(100% - 5px) 100%,0 100%);clip-path:polygon(5px 0,100% 0,calc(100% - 5px) 100%,0 100%)}.ep-main{display:grid;grid-template-columns:24px 1fr auto;grid-template-rows:auto auto;grid-gap:.2rem .5rem;gap:.2rem .5rem;padding:.6rem .7rem;align-items:center}.ep-check{grid-row:1/3;grid-column:1;width:24px;height:24px;min-height:24px}.ep-title{grid-column:2;grid-row:1;font-size:.85rem;line-height:1.3}.ep-number{grid-column:2;grid-row:2;min-width:0;font-size:.65rem}.ep-expand-icon{grid-column:3;grid-row:1/3;padding:.3rem}.ep-summary{padding:0 .7rem .6rem 2.8rem;font-size:.75rem}}@media (max-width:360px){html{font-size:13px}header h1{font-size:1.1rem;letter-spacing:.15em}.season-nav button{padding:.5rem;font-size:.7rem}}@media (hover:none) and (pointer:coarse){.ep-check{width:28px;height:28px}.ep-main{min-height:48px}.disc-header .mark-disc-btn{min-height:36px;padding:.3rem .8rem}.season-nav button{min-height:44px}}