:root{--bg:#0b1630;--panel:#122244;--line:#23407a;--text:#e8eefc;--dim:#9fb2d8;--accent:#27d3e6;--accent2:#1aa6b8}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);color:var(--text);font-family:"Yu Gothic UI","Meiryo",system-ui,sans-serif}
a{color:var(--accent)}
header{padding:14px 18px;border-bottom:1px solid var(--line)}
header h1{margin:0;font-size:1.25rem}
header p{margin:4px 0 0;color:var(--dim);font-size:.9rem}
header p .manual-link{display:inline-flex;margin-top:4px;padding:3px 0;color:var(--accent);font-weight:700;text-decoration:none;border-bottom:1px solid var(--accent2)}
header p .manual-link:hover{color:var(--text)}
.wrap{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:16px;padding:16px;max-width:1500px;margin:0 auto}
.player{background:#000;border:1px solid var(--line);border-radius:8px;overflow:hidden;aspect-ratio:16/9;position:relative}
.player iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.empty{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--dim);text-align:center;padding:20px}
.bar{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}
.btn{background:var(--accent2);color:#04141a;border:0;border-radius:6px;padding:9px 14px;font-weight:700;cursor:pointer;text-decoration:none;font-size:.95rem}
.btn.ghost{background:transparent;color:var(--accent);border:1px solid var(--accent2)}
.now h2{margin:6px 0 2px;font-size:1.1rem}
.now p{margin:0;color:var(--dim)}
nav.index{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:8px;align-self:start}
nav.index h3{margin:6px 8px 8px;font-size:.95rem;color:var(--dim)}
nav.index a.item{display:grid;grid-template-columns:108px minmax(0,1fr);gap:10px;align-items:center;padding:8px;border-radius:6px;color:var(--text);text-decoration:none;border-left:3px solid transparent}
nav.index a.item:hover{background:#18305f}
nav.index a.item.on{background:#18305f;border-left-color:var(--accent)}
.item .thumb{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:4px;background:#000}
.item-copy{display:block;min-width:0}
.item .t{display:block;font-size:.88rem;line-height:1.35;font-weight:700;overflow-wrap:anywhere}
.item .s{display:block;margin-top:3px;font-size:.76rem;line-height:1.35;color:var(--dim);overflow-wrap:anywhere}
.item .m{display:block;margin-bottom:2px;text-align:right;font-size:.72rem;color:var(--dim)}
.references{margin-top:14px}
.references-inner{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:14px 18px}
.references h2{margin:0 0 8px;font-size:.95rem;color:var(--dim)}
.references ul{display:flex;flex-wrap:wrap;gap:6px 20px;margin:0;padding-left:1.2em}
.references a{color:var(--accent);text-underline-offset:3px}
footer{padding:14px 18px;color:var(--dim);font-size:.8rem}
@media (max-width:900px){.wrap{grid-template-columns:1fr;padding:12px}nav.index a.item{grid-template-columns:minmax(96px,28vw) minmax(0,1fr)}}
/* 全画面ページ */
body.full{overflow:hidden}
.fullplayer{position:fixed;inset:0;background:#000}
.fullplayer iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.fullbar{position:fixed;left:0;right:0;top:0;z-index:5;display:flex;gap:8px;align-items:center;padding:8px 12px;background:linear-gradient(#000c,#0000);transition:opacity .3s}
.fullbar.hide{opacity:0;pointer-events:none}
.fullbar .ttl{font-weight:700;margin-right:auto}
.fullbar .updated{font-size:.72rem;color:var(--dim);white-space:nowrap}
.drawer{position:fixed;top:0;right:0;bottom:0;width:min(360px,90vw);z-index:6;background:var(--panel);border-left:1px solid var(--line);padding:10px;overflow:auto;transform:translateX(100%);transition:transform .25s}
.drawer.open{transform:none}
footer .updated{display:block;margin-top:4px}
@media(max-width:600px){
	.fullbar{flex-wrap:wrap;padding:8px;gap:6px}
	.fullbar .ttl{flex-basis:100%;margin:0;font-size:.9rem}
	.fullbar .btn{padding:7px 9px;font-size:.82rem}
	.fullbar .updated{display:none}
}

/* 見出し右上の案内カード（目次と同じ通常サイズのサムネ） */
header.top{display:flex;gap:16px;align-items:flex-start;justify-content:space-between}
header.top .hd{min-width:0}
.promo{flex:0 1 340px;display:grid;grid-template-columns:108px minmax(0,1fr);gap:10px;align-items:center;padding:8px;background:var(--panel);border:1px solid var(--line);border-radius:8px;color:var(--text);text-decoration:none}
.promo:hover{border-color:var(--accent2)}
.promo img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:4px;background:#000}
.promo span{font-size:.88rem;font-weight:700;line-height:1.4;overflow-wrap:anywhere}
@media (max-width:700px){header.top{flex-direction:column}.promo{flex-basis:auto;width:100%;max-width:340px}}
