:root{--accent:#ff6719;--accent-ink:#c4441a;--ink:#363737;--strong:#111;--muted:#6b6b6b;--line:#e7e7e4;--bg:#f7f7f6;--ui:system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;--serif:'Lora',Georgia,serif}
*{box-sizing:border-box;margin:0;padding:0}
html{overflow-x:clip}
body{background:var(--bg);font-family:var(--ui);color:var(--ink);-webkit-font-smoothing:antialiased}
h1,h2,h3{text-wrap:balance}
p{text-wrap:pretty}
.wrap{max-width:780px;margin:0 auto;padding:32px 16px 48px}
.top{display:flex;gap:14px;align-items:center;margin-bottom:28px}
.top img{width:52px;height:52px;border-radius:6px;flex:none}
.top h1{font:600 26px/1.15 var(--serif);color:var(--strong)}
.top p{font:400 15px/1.45 var(--ui);color:var(--muted);margin-top:4px}
.wk{font:700 13px var(--ui);color:var(--muted);letter-spacing:.04em;text-transform:uppercase;margin:28px 0 4px}
.day{position:relative;padding-left:22px;border-left:1px dashed #d4d4d0;margin-left:5px}
.day h2{font:600 16px var(--ui);color:var(--strong);padding:18px 0 12px;position:relative}
.day h2::before{content:"";position:absolute;left:-26px;top:24px;width:7px;height:7px;border-radius:50%;background:#bdbdb8}
.day h2 span{font-weight:400;color:var(--muted);margin-left:6px}
.card{background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden;margin-bottom:12px}
.main{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:16px;padding:16px}
.time{font:600 14px var(--ui);color:var(--strong)}
.series{font-weight:600}
.s-claude{color:var(--accent-ink)}.s-claude-code{color:#111}.s-friday{color:#3b45b5}
.ttl{font:600 17px/1.3 var(--ui);color:var(--strong);margin:6px 0}
.desc{font:400 15px/1.45 var(--ui);color:var(--ink);margin-bottom:8px}
.host{font:400 14px var(--ui);color:var(--muted)}
.cover{width:100%;aspect-ratio:1080/386;object-fit:cover;border-radius:6px;display:block;background:#f0efe9}
.bar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;border-top:1px solid var(--line);background:#fcfcfb}
.cal{font:500 14px var(--ui);color:var(--ink);background:none;border:0;text-decoration:underline;cursor:pointer;padding:0}
.btn{background:var(--accent);color:#fff;font:600 14px var(--ui);padding:9px 18px;border-radius:6px;text-decoration:none;white-space:nowrap}
.btn:focus-visible,.cal:focus-visible{outline:2px solid var(--strong);outline-offset:2px}
@media (hover:hover){.btn:hover{background:#e85d0e}}
.cancelled .ttl{text-decoration:line-through;color:var(--muted)}
.flag{font:700 14px var(--ui);color:#b42318}
.note{font:400 15px/1.5 var(--ui);color:var(--muted);padding:24px 0}
.foot{font:400 14px/1.45 var(--ui);color:var(--muted);margin-top:36px;text-align:center}
@media (max-width:640px){.main{grid-template-columns:minmax(0,1fr)}.cover{order:-1}}
