
*{box-sizing:border-box}html{scroll-behavior:smooth}[hidden]{display:none!important}
body{margin:0;font-family:Inter,Arial,sans-serif;color:#2b1a1e;line-height:1.5;background:#f7ecdc url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40'%3E%3Cpath d='M20 4l4 8-4 4-4-4z' fill='%23ecd8bb'/%3E%3C/svg%3E")}
a{color:#7a1f2b}
.wrap{max-width:980px;margin:0 auto;padding:0 16px}
.pub-hero{background:linear-gradient(135deg,#5a1420,#8a2433 55%,#b4532a);color:#fff;padding:22px 0 34px;border-bottom:6px solid #c99a3a;box-shadow:0 8px 22px rgba(60,10,20,.25)}
.crumb{margin:0;font-size:.9rem;opacity:.95}.crumb a{color:#f8dca0}
.pub-orn{color:#f2c46d;font-family:Georgia,serif;letter-spacing:.4em;margin:14px 0 0;font-size:1.3rem}
.pub-hero h1{font-family:Caveat,cursive;font-weight:700;font-size:clamp(2.8rem,9vw,4.4rem);line-height:1;margin:4px 0 8px;color:#fff3d6;text-shadow:2px 2px 0 rgba(0,0,0,.2)}
.pub-lede{max-width:44rem;margin:0;font-size:1.05rem}
.linkbox{display:flex;gap:14px;align-items:center;background:#fffaf2;border:2px dashed #c99a3a;border-radius:16px;padding:14px;margin:22px 0}
.linkbox img{flex:0 0 auto;background:#fff;border-radius:8px;border:1px solid #e6cf9f}
.linkbox p{margin:2px 0}.lk-url a{font-weight:700;overflow-wrap:anywhere}.lk-o{font-size:.9rem;color:#6b5048}
.filters{background:#fffaf2;border-radius:16px;padding:12px 14px;border:1px solid #ead3ad;box-shadow:0 3px 10px rgba(80,30,10,.08)}
.f-h{margin:0 0 6px;font-weight:700}.chips{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0}
.chips button{font:inherit;font-size:.95rem;font-weight:600;border:2px solid #c99a3a;background:#fff;color:#7a1f2b;border-radius:999px;padding:7px 14px;cursor:pointer;min-height:40px}
.chips button[aria-pressed=true]{background:#7a1f2b;color:#fff3d6;border-color:#7a1f2b}
.f-count{margin:6px 0 0;font-size:.9rem;color:#6b5048}
.jump{display:flex;gap:6px;overflow-x:auto;padding:14px 2px 6px;scrollbar-width:thin}
.jump a{flex:0 0 auto;text-decoration:none;font-weight:700;font-size:.85rem;background:#fff;border:1px solid #e0c48e;border-radius:10px;padding:6px 10px;color:#7a1f2b}
.days{display:grid;gap:30px;margin-top:14px}
.day{padding:10px;border-radius:22px;background:linear-gradient(135deg,var(--c1),var(--c2) 50%,var(--c1));box-shadow:0 12px 28px rgba(60,20,10,.28),inset 0 0 0 3px rgba(255,255,255,.25);scroll-margin-top:12px}
.day-in{position:relative;background:var(--bg);border-radius:14px;padding:18px 16px 12px;outline:2px solid var(--c2);outline-offset:-8px}
.cn{position:absolute;width:22px;height:22px;border:3px solid var(--c1);opacity:.8}
.cn.tl{top:14px;left:14px;border-right:0;border-bottom:0;border-radius:8px 0 0 0}.cn.tr{top:14px;right:14px;border-left:0;border-bottom:0;border-radius:0 8px 0 0}
.cn.bl{bottom:14px;left:14px;border-right:0;border-top:0;border-radius:0 0 0 8px}.cn.br{bottom:14px;right:14px;border-left:0;border-top:0;border-radius:0 0 8px 0}
.day-h{display:flex;gap:16px;align-items:center;padding:6px 10px 0}
.day-fig{margin:0;flex:0 0 150px;background:#fff;padding:6px 6px 4px;border-radius:6px;box-shadow:0 5px 14px rgba(0,0,0,.2);transform:rotate(-2deg)}
.day-fig img{width:100%;aspect-ratio:3/2;object-fit:cover;display:block;border-radius:3px}
.day-fig figcaption{font-size:.72rem;text-align:center;color:#6b5048;margin-top:3px;line-height:1.2}
.day-date{margin:0;text-transform:uppercase;letter-spacing:.12em;font-size:.8rem;font-weight:700;color:var(--c1)}
.day-t{font-family:Caveat,cursive;font-weight:700;font-size:clamp(1.9rem,6vw,2.5rem);line-height:1.05;margin:2px 0;color:#2b1a1e}
.day-n{margin:0;font-size:.85rem;color:#6b5048}
.orn{display:block;width:220px;max-width:70%;margin:12px auto 4px;color:var(--c2)}
.grp{margin:8px 6px 10px}.grp-h{margin:10px 0 6px;font-size:.95rem}.grp-h span{display:inline-block;background:var(--c1);color:#fff;border-radius:8px;padding:3px 12px;font-weight:700}
.grp-en .grp-h span{background:#1f3a68}.grp-fr .grp-h span{background:#7a1f2b}.grp-fren .grp-h span{background:#4a2a5e}
ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.it{display:flex;gap:12px;background:#fff;border-radius:12px;padding:10px;border:1px solid rgba(0,0,0,.08);box-shadow:0 2px 6px rgba(80,30,10,.07)}
.it.here{border:2px solid #c99a3a;background:#fffbef}
.it-th img{width:96px;height:64px;object-fit:cover;border-radius:6px;display:block;border:1px solid #eee}
.it-tx{min-width:0}.it h4{margin:0;font-family:Fraunces,Georgia,serif;font-size:1.05rem;line-height:1.25}.it h4 a{color:#2b1a1e;text-decoration:none}
.it-d{margin:3px 0;font-size:.93rem}.it-tags{margin:4px 0;display:flex;flex-wrap:wrap;gap:6px}
.lg,.lv{font-size:.75rem;font-weight:700;border-radius:6px;padding:2px 8px}
.lg-fr{background:#f7dfe2;color:#7a1f2b}.lg-en{background:#dfe7f6;color:#1f3a68}.lg-fren{background:#eadff2;color:#4a2a5e}.lv{background:#f6ead2;color:#6b4a14}
.ou{margin:4px 0 0;font-size:.9rem}.ou a{font-weight:700;overflow-wrap:anywhere}
.ici{display:inline-block;background:#c99a3a;color:#2b1a1e;font-size:.72rem;font-weight:800;border-radius:6px;padding:1px 8px;margin-bottom:3px}
.empty{text-align:center;font-weight:600;margin:20px}
.note{font-size:.85rem;color:#6b5048}
.pub-foot{margin-top:28px;background:#3b1219;color:#fff;border-top:6px solid #c99a3a;padding:18px 0}
.pub-foot a{color:#f8dca0}.pub-foot p{margin:4px 0}.cc{font-size:.9rem}
@media (max-width:560px){.day-h{flex-direction:column;align-items:flex-start;padding:6px 6px 0}.day-fig{flex-basis:auto;width:72%;margin:0 auto}
.it-th img{width:72px;height:54px}.linkbox{flex-direction:column;align-items:flex-start}.day-in{padding:18px 10px 10px}}
@media print{.filters,.jump{display:none}.day{box-shadow:none;break-inside:avoid}}
