.source-player{min-height:0;overflow:auto;color:inherit;scrollbar-width:thin}
.source-controls,.source-details,.source-more{padding:12px 16px}
.source-controls{display:flex;align-items:center;justify-content:space-between;font-size:13px}
.source-controls span,.source-details p{font-size:12px;opacity:.73}
.source-player video{width:100%;height:clamp(240px,43dvh,470px);display:block;background:#101010;object-fit:contain}
.source-details h2{font-size:25px;line-height:1.22;margin:0}.source-details p{margin:7px 0 12px}
.source-episodes{display:flex;gap:10px}.source-episodes button,.source-demo{padding:8px 12px;border:1px solid var(--line);border-radius:5px;font-size:13px}
.source-episodes [aria-pressed=true]{background:var(--accent);color:var(--on);font-weight:650}
.source-more{margin:0;font-size:17px}.source-shelf{padding:0 16px 16px;display:grid;grid-auto-flow:column;grid-auto-columns:36%;overflow-x:auto;gap:9px}
.source-shelf .card{display:block;min-width:0;text-align:left}.source-shelf img{width:100%;height:90px;object-fit:cover}.source-shelf span,.source-shelf strong,.source-shelf small{display:block}.source-shelf .ordinal,.source-shelf .go,.phone .episode-card .ordinal,.phone .episode-card .go{display:none}
.source-demo{margin:10px 16px 15px;display:inline-block;color:var(--accent)}
.phone .episode-card span{display:block;text-align:left}.phone.pink .grid .episode-card span{position:absolute;inset:auto 0 0;padding:20px 8px 7px;background:linear-gradient(transparent,#141116ed)}
.phone .source-player .episode-card{position:static}.phone .source-player .episode-card img{height:84px}.phone .source-player .episode-card span{padding:5px}
body.single-theme .pair{grid-template-columns:minmax(0,420px);justify-content:center}body.single-theme .phone.inactive,body.single-theme #switcher{display:none}
body.single-theme .mast,body.single-theme .intro,body.edition-single .studio-bar{display:none}
body.single-theme .studio{grid-template-columns:minmax(0,420px);justify-content:center}
.theme-menu{display:none;position:relative;color:var(--accent);font-size:12px}
.single-theme .theme-menu{display:block}
.theme-menu summary,.theme-index-link{cursor:pointer;display:flex;align-items:center;justify-content:center;min-height:42px;padding-inline:6px}
.theme-menu summary::-webkit-details-marker{display:none}
.theme-menu>div{position:absolute;z-index:7;right:0;top:100%;display:grid;min-width:120px;background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:0 4px 15px #0004}
.theme-menu a,.theme-menu button{padding:12px;text-align:left}
.edition-single #mast h2{margin-right:auto}
.edition-single #mast{gap:8px}
.theme-index-link{font-size:12px;text-decoration:none}
@media(max-width:760px){body.single-theme .phone{height:100dvh;border-radius:0}.source-episodes button{min-height:42px}}
body.edition-single .rail,body.edition-single .guide{display:none}body.edition-single .workspace{grid-template-columns:minmax(0,420px)}
@media(max-width:690px){body.edition-single .workspace{width:100%;height:100dvh;max-width:none}}
@media(max-height:550px) and (orientation:landscape){.single-theme .phone,.edition-single #device{min-height:0}.source-player video{height:65dvh}}

.episode-entry{display:flex;justify-content:space-between;align-items:center;gap:8px;width:calc(100% - 32px);margin:8px 16px;padding:9px 12px;text-align:left;border:1px solid var(--line);background:var(--surface);border-radius:8px;color:inherit}
.episode-entry span,.episode-entry small{display:block}.episode-entry strong{font-size:15px}.episode-entry small{margin-top:3px;font-size:11px;opacity:.72}.episode-entry b{font-size:12px;color:var(--accent)}
.episode-review,.episode-quote{box-sizing:border-box;color:var(--ink);background:var(--surface);border:1px solid var(--line);padding:0;border-radius:14px;max-height:96dvh;overflow:auto}
.episode-review{width:min(100vw,430px);max-width:100vw}
.episode-review::backdrop,.episode-quote::backdrop{background:#090a0bba}
.episode-review header,.episode-times,.episode-actions{display:flex;align-items:center;justify-content:space-between;gap:8px}
.episode-review header{padding:7px 14px;font-size:13px}.episode-review button{background:transparent;color:var(--accent);font:inherit;padding:8px;min-height:40px;border:0;cursor:pointer}
.episode-review video{display:block;width:100%;height:min(54dvh,520px);background:#101010;object-fit:contain}
.episode-details,.episode-quote{padding:14px 18px}.episode-details h2,.episode-quote h3{font-size:21px;margin:0}.episode-details p,.episode-quote p{font-size:13px;margin:8px 0}.episode-details input{width:100%;accent-color:var(--accent)}
.episode-times,.episode-actions{font-size:12px}.episode-actions{justify-content:flex-start;flex-wrap:wrap}.episode-actions [data-retry]{margin-left:auto;font-size:11px}
.episode-quote{width:min(92vw,365px)}.episode-quote dl{display:grid;grid-template-columns:1fr auto;line-height:1.8;font-size:14px}.episode-quote dd{text-align:right;margin:0}
.episode-quote [data-confirm]{display:block;width:100%;background:var(--accent);color:var(--on);border-radius:6px;font-weight:700}.episode-quote [data-cancel]{width:100%;font-size:13px}
