:root{--bg:oklch(.11 .02 290);--panel:oklch(.15 .025 290);--panel-2:oklch(.19 .03 290);--ink:oklch(.97 .015 290);--muted:oklch(.72 .035 290);--line:oklch(.27 .03 290);--primary:oklch(.61 .16 290);--primary-light:oklch(.76 .13 290);--accent:oklch(.82 .15 90);--danger:oklch(.72 .16 25);--shadow:0 8px 24px rgba(0,0,0,.22);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink)}button,input,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.eyebrow{margin:0 0 12px;color:var(--primary-light);font-size:11px;font-weight:800;letter-spacing:.13em}.brand-mark{display:flex;align-items:center;gap:10px;font-size:19px;font-weight:800;letter-spacing:-.04em}.brand-icon{display:grid;place-items:center;width:29px;height:29px;border-radius:9px;background:var(--primary);color:white;font-weight:900}.app-shell{display:flex;min-height:100vh;padding-bottom:86px}.sidebar{position:fixed;inset:0 auto 0 0;width:244px;padding:28px 18px 22px;background:oklch(.095 .018 290);border-right:1px solid var(--line);display:flex;flex-direction:column;z-index:3}.sidebar .brand-mark{padding:0 11px 44px}.sidebar nav{display:grid;gap:5px}.nav-item{display:flex;align-items:center;gap:14px;width:100%;padding:12px 13px;border:0;border-radius:9px;background:transparent;color:var(--muted);font-weight:650;text-align:left;transition:background .18s,color .18s}.nav-item span{width:18px;text-align:center;font-size:18px}.nav-item:hover{background:var(--panel-2);color:var(--ink)}.nav-item.active{background:oklch(.61 .16 290 / .17);color:var(--primary-light)}.sidebar-bottom{margin-top:auto}.sidebar-label{padding:0 13px;color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.12em}.main-content{width:calc(100% - 244px);margin-left:244px}.topbar{height:76px;padding:0 5.2vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:oklch(.11 .02 290 / .94);position:sticky;top:0;z-index:2;backdrop-filter:blur(14px)}.crumb{display:flex;gap:12px;color:var(--muted);font-size:13px}.crumb strong{color:var(--line)}.crumb span:last-child{color:var(--ink)}.top-actions{display:flex;align-items:center;gap:12px}.user-chip{font-size:13px;color:var(--muted)}.profile-button,.mobile-menu{border:0;color:var(--ink);background:var(--panel-2)}.profile-button{width:32px;height:32px;border-radius:50%;background:var(--primary);font-weight:800}.mobile-menu{display:none}.content-wrap{max-width:1110px;margin:auto;padding:0 5.2vw}.hero-section{min-height:325px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(34px,4vw,58px);line-height:1.05;letter-spacing:-.045em;margin-bottom:18px;text-wrap:balance}h2{font-size:26px;letter-spacing:-.03em;margin-bottom:7px}.hero-copy{color:var(--muted);font-size:15px}.hero-cover{width:190px;height:190px;border-radius:12px;box-shadow:var(--shadow)}.section-heading,.upload-header{display:flex;align-items:end;justify-content:space-between;margin:45px 0 19px}.count-pill,.upload-badge{padding:7px 10px;border:1px solid var(--line);border-radius:99px;color:var(--muted);font-size:11px;font-weight:750}.episode-list{min-height:128px}.empty-state{display:grid;place-items:center;padding:30px;color:var(--muted);text-align:center;border:1px dashed var(--line);border-radius:12px}.empty-state h3{margin:11px 0 6px;color:var(--ink);font-size:17px}.empty-state p{margin-bottom:12px;font-size:13px}.empty-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--panel-2);color:var(--primary-light);font-size:20px}.text-link{color:var(--primary-light);font-size:13px;font-weight:700}.episode-row{display:grid;grid-template-columns:50px 1fr auto 40px;gap:16px;align-items:center;padding:13px 12px;border-bottom:1px solid var(--line);transition:background .18s}.episode-row:hover{background:var(--panel)}.episode-art{width:50px;height:50px;border-radius:7px}.episode-meta strong{display:block;font-size:15px;margin-bottom:5px}.episode-meta span{color:var(--muted);font-size:12px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.episode-date{color:var(--muted);font-size:12px}.play-button,.delete-button{border:0;background:transparent;color:var(--primary-light);font-size:18px}.delete-button{color:var(--muted);font-size:15px}.delete-button:hover{color:var(--danger)}.upload-section{margin:66px 0 20px;padding:27px;border:1px solid var(--line);border-radius:12px;background:var(--panel)}.upload-header{margin:0 0 27px;align-items:start}.upload-header h2{margin-bottom:7px}.upload-header p:last-child{margin:0;color:var(--muted);font-size:13px}.upload-form{display:grid;gap:17px;max-width:670px}.upload-form label,.login-panel label{display:grid;gap:8px;color:var(--muted);font-size:12px;font-weight:700}.optional{font-weight:500;color:var(--muted);margin-left:7px}.upload-form input:not([type=file]),.upload-form textarea,.login-panel input{width:100%;padding:12px 13px;border:1px solid var(--line);border-radius:7px;outline:0;background:oklch(.11 .02 290);color:var(--ink)}textarea{resize:vertical}.upload-form input:focus,.upload-form textarea:focus,.login-panel input:focus{border-color:var(--primary-light);box-shadow:0 0 0 3px oklch(.61 .16 290 / .18)}.file-drop{padding:27px;border:1px dashed var(--primary);border-radius:9px;place-items:center;background:oklch(.61 .16 290 / .07);cursor:pointer;text-align:center}.file-drop input{position:absolute;width:1px;height:1px;opacity:0}.file-icon{font-size:24px;color:var(--primary-light)}.file-drop strong{color:var(--ink);font-size:14px}.file-drop small{color:var(--muted);font-size:11px}.primary-button{display:flex;align-items:center;justify-content:space-between;gap:20px;width:max-content;min-width:180px;padding:12px 15px;border:0;border-radius:7px;background:var(--primary);color:white;font-weight:800;transition:background .18s,transform .18s}.primary-button:hover{background:var(--primary-light);transform:translateY(-1px)}.primary-button:disabled{opacity:.6;cursor:wait;transform:none}.form-status{min-height:18px;margin:0;color:var(--accent);font-size:12px}.form-error{min-height:18px;color:var(--danger);font-size:12px}.player{position:fixed;bottom:0;left:244px;right:0;height:86px;display:flex;align-items:center;gap:14px;padding:13px 5.2vw;background:oklch(.12 .025 290 / .97);border-top:1px solid var(--line);z-index:4;backdrop-filter:blur(18px)}.player>img{width:58px;height:58px;border-radius:7px}.now-playing{min-width:170px;display:grid;gap:5px}.now-playing strong{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.now-playing span{color:var(--muted);font-size:11px}.player-play{display:grid;place-items:center;width:36px;height:36px;border:0;border-radius:50%;background:var(--ink);color:var(--bg);font-size:13px}.progress-track{height:3px;flex:1;max-width:430px;margin-left:auto;background:var(--line)}.progress-track div{height:100%;width:0;background:var(--primary-light)}.time-label{color:var(--muted);font-size:11px;min-width:30px}.login-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:var(--bg)}.login-shell{width:min(980px,100%);display:grid;grid-template-columns:1fr 1fr;min-height:600px;overflow:hidden;border:1px solid var(--line);border-radius:14px;background:var(--panel);box-shadow:var(--shadow)}.login-art{padding:52px;display:flex;flex-direction:column;justify-content:end;position:relative;overflow:hidden;background:oklch(.15 .04 290)}.login-art:before{content:"";position:absolute;width:380px;height:380px;top:-110px;right:-100px;border-radius:50%;background:oklch(.61 .16 290 / .2)}.login-art img{position:absolute;inset:52px 52px auto auto;width:210px;height:210px;opacity:.9}.login-art h1{position:relative;font-size:42px;margin-bottom:14px}.art-note{position:relative;color:var(--muted);font-size:14px}.login-panel{padding:64px 56px;display:flex;flex-direction:column;justify-content:center}.login-panel .brand-mark{margin-bottom:72px}.login-copy h2{font-size:30px;margin-bottom:10px}.login-copy>p:last-child{color:var(--muted);font-size:13px;line-height:1.6;margin-bottom:30px}.login-panel form{display:grid;gap:18px}.login-panel .primary-button{width:100%;margin-top:4px}.login-footnote{margin:26px 0 0;color:var(--muted);font-size:11px;line-height:1.6}.sidebar .ghost{padding-left:13px}
@media(max-width:800px){.sidebar{transform:translateX(-100%);transition:transform .2s}.sidebar.open{transform:translateX(0);box-shadow:var(--shadow)}.main-content{width:100%;margin-left:0}.player{left:0;padding:11px 16px}.topbar{padding:0 18px}.mobile-menu{display:block;padding:8px;border-radius:7px;margin-right:13px}.topbar{justify-content:flex-start}.crumb{flex:1}.top-actions{margin-left:auto}.content-wrap{padding:0 18px}.hero-section{min-height:285px}.hero-cover{width:130px;height:130px}.hero-section h1{font-size:38px}.section-heading{margin-top:34px}.upload-section{padding:20px;margin-top:46px}.login-shell{grid-template-columns:1fr;min-height:0}.login-art{min-height:260px;padding:28px}.login-art img{width:120px;height:120px;right:28px;top:28px}.login-art h1{font-size:32px;margin-bottom:5px}.login-art .eyebrow{margin-bottom:8px}.login-panel{padding:35px 28px 40px}.login-panel .brand-mark{margin-bottom:38px}.now-playing{min-width:0;flex:1}.now-playing strong{max-width:145px}.progress-track{position:absolute;left:0;right:0;bottom:0;max-width:none}.time-label{display:none}}
@media(max-width:490px){.hero-section{align-items:flex-end;padding-bottom:26px}.hero-cover{width:100px;height:100px;margin-left:15px}.hero-section h1{font-size:32px}.episode-row{grid-template-columns:43px 1fr 34px;gap:11px}.episode-art{width:43px;height:43px}.episode-date{display:none}.player>img{width:46px;height:46px}.player-play{width:32px;height:32px}.upload-header{gap:12px}.upload-badge{font-size:9px}.top-actions .user-chip{display:none}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
:root{--bg:oklch(.09 .01 145);--panel:oklch(.13 .012 145);--panel-2:oklch(.18 .016 145);--ink:oklch(.98 .005 145);--muted:oklch(.72 .01 145);--line:oklch(.25 .012 145);--primary:oklch(.76 .20 145);--primary-light:oklch(.83 .18 145);--accent:oklch(.82 .16 145)}
.brand-logo{display:block;width:154px;height:auto;object-fit:contain;border-radius:4px;background:oklch(.76 .20 145)}.sidebar .brand-logo{margin:0 11px 44px}.login-panel>.brand-logo{width:190px;margin-bottom:64px}.login-logo-art{position:relative!important;inset:auto!important;width:100%!important;max-width:390px;height:auto!important;opacity:1!important;border-radius:9px;background:oklch(.76 .20 145);margin:0 0 28px}.login-art{background:oklch(.13 .015 145)}.login-art:before{background:oklch(.76 .20 145 / .14)}.nav-item.active{background:oklch(.76 .20 145 / .16);color:var(--primary-light)}.primary-button{background:var(--primary);color:oklch(.11 .01 145)}.primary-button:hover{background:var(--primary-light)}.profile-button{background:var(--primary);color:oklch(.11 .01 145)}.player-play{background:var(--ink);color:oklch(.11 .01 145)}.hero-cover,.episode-art,.player>img{border-radius:5px}.file-drop{border-color:var(--primary);background:oklch(.76 .20 145 / .06)}.text-link,.play-button{color:var(--primary-light)}
@media(max-width:800px){.sidebar .brand-logo{width:155px}.login-panel>.brand-logo{margin-bottom:38px}.login-logo-art{max-width:300px!important}}
.hero-cover{object-fit:cover}.episode-art{object-fit:cover}
.empty-avatar{width:64px;height:64px;object-fit:cover;border-radius:50%;margin-bottom:10px}
.profile-button{padding:0;overflow:hidden;display:grid;place-items:center}.profile-button img{width:100%;height:100%;object-fit:cover}
.brand-lockup{display:flex;align-items:center;gap:9px;color:var(--ink);font-size:19px;font-weight:800;letter-spacing:-.04em}.brand-lockup img{width:34px;height:34px;object-fit:cover;border-radius:8px}.sidebar .brand-lockup{margin:0 11px 44px}.install-guide{position:fixed;inset:0;z-index:10;display:grid;place-items:center;padding:18px;background:oklch(.03 .01 145 / .78);backdrop-filter:blur(12px)}.install-guide[hidden]{display:none}.install-card{position:relative;width:min(410px,100%);padding:30px;border:1px solid var(--line);border-radius:16px;background:var(--panel);box-shadow:0 16px 48px rgba(0,0,0,.45)}.install-card>img{display:block;width:72px;height:72px;object-fit:cover;border-radius:16px;margin-bottom:20px}.install-card h2{font-size:25px;margin-bottom:9px}.install-card>p:not(.eyebrow){color:var(--muted);font-size:13px;line-height:1.6}.install-card ol{margin:20px 0 24px;padding-left:22px;color:var(--ink);font-size:13px;line-height:2}.install-card li span{color:var(--primary-light);font-size:17px}.install-card .primary-button{width:100%}.install-close{position:absolute;top:14px;right:14px;width:30px;height:30px;border:0;border-radius:50%;background:var(--panel-2);color:var(--muted);font-size:20px}
@media(max-width:800px){.sidebar .brand-lockup{margin-left:11px}.install-card{padding:26px 22px}}
