/* 2026-11: shared magazine system. Content, interactions and ad dimensions stay in their modules. */
:root {
  --ink:#362b3b; --muted:#706372; --pink:#a62c68; --purple:#67427f;
  --pink-soft:#f9e4ef; --cream:#fffcf6; --line:#e7d9df; --navy:#35263f;
  --gold:#98601d; --radius:16px; --shadow:0 5px 18px #44243b07;
  --mint:#dceee8; --butter:#faedc4;
  --body-font:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,"Noto Sans CJK JP",sans-serif;
  --display-font:"Kirameki Rounded","Hiragino Maru Gothic ProN","Yu Gothic",Meiryo,"Noto Sans CJK JP",sans-serif;
  /* Keep the legacy token so every existing display heading follows this theme. */
  --serif:var(--display-font);
  font-family:var(--body-font);
  line-height:1.85; color:var(--ink); background:var(--cream);
}
html { scroll-behavior:smooth; scroll-padding-top:24px; }
body { background:var(--cream); }
.wrap { width:min(1200px,calc(100% - 80px)); }
main { min-width:0; }
main > *, .article-layout > *, .content-split > * { min-width:0; }
h1,h2,h3 { font-feature-settings:"palt"; overflow-wrap:anywhere; }
button,input,select { font-size:16px; }
a,button { -webkit-tap-highlight-color:#e9c9da70; }
a { transition:color .16s,background-color .16s,border-color .16s; }
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible { outline:3px solid #327d7a; outline-offset:4px; }
.note-icon { display:inline-block; width:24px; height:24px; flex:none; vertical-align:middle; }
.eyebrow { font-size:11px; font-weight:800; letter-spacing:.15em; color:var(--pink); line-height:1.7; }
.topline { background:var(--navy); color:#f4e5ee; border:0; font-size:10px; letter-spacing:.09em; }
.topline .wrap { padding-block:8px; }
.masthead { padding:28px 0 25px; align-items:center; }
.editorial-brand { flex-direction:row; align-items:center; gap:16px; color:var(--ink); }
.editorial-brand img { width:60px; height:60px; border-radius:0; box-shadow:none; }
.editorial-brand > span { display:block; }
.editorial-brand small { font-size:9px; letter-spacing:.19em; color:var(--pink); margin:0 0 7px; }
.editorial-brand b { display:block; font-family:var(--serif); font-size:31px; font-weight:800; letter-spacing:.035em; line-height:1.25; color:var(--ink); }
.editorial-brand b span { margin-left:8px; font-size:24px; }
.editorial-brand em { display:block; font-size:10px; font-style:normal; margin-top:7px; letter-spacing:.05em; color:var(--muted); }
.mast-tools { display:flex; gap:8px 20px; justify-content:flex-end; flex-wrap:wrap; max-width:330px; font-size:12px; }
.mast-tools > span { width:100%; color:var(--muted); text-align:right; font-size:11px; }
.mast-tools a { display:flex; gap:7px; align-items:center; min-height:44px; text-decoration:none; color:var(--purple); }
.mast-tools .note-icon { width:17px; height:17px; }
.navborder { border-top:1px solid var(--ink); border-bottom:1px solid var(--line); background:#fffdf9; }
.mainnav { gap:0; padding:0; justify-content:space-between; flex-wrap:wrap; overflow:visible; white-space:normal; }
.mainnav a { display:flex; align-items:center; justify-content:center; gap:6px; min-height:55px; padding:10px 9px; font-size:11px; border-bottom:3px solid transparent; margin-bottom:-1px; }
.mainnav a .note-icon { width:16px; height:16px; color:var(--pink); }
.mainnav a[aria-current=page] { border-color:var(--pink); background:#fbebf2; }
.mobile-nav { display:none; }
.breadcrumb { font-size:12px; padding-top:27px; margin-bottom:24px; }
.page-intro { padding:18px 0 34px; border-bottom:1px solid var(--line); margin-bottom:30px; }
.page-intro h1 { font-family:var(--serif); font-size:clamp(30px,3.4vw,44px); line-height:1.6; margin-top:10px; letter-spacing:.035em; }
.page-intro .intro-note { font-size:13px; line-height:1.9; }
.section-title { margin:58px 0 25px; gap:20px; }
.section-title h2 { font-family:var(--serif); font-size:clamp(24px,2.4vw,31px); line-height:1.6; padding-left:0; margin-top:5px; }
.section-title h2:before { display:none; }
.section-title:before { content:""; width:7px; align-self:stretch; flex:none; background:var(--pink); border-radius:0; }
.section-title > div:first-of-type { margin-right:auto; }
.section-title > a,.section-title > small,.section-title > span { font-size:12px; }
.section-title a { white-space:normal; flex-shrink:0; max-width:35%; }
.button { border-radius:4px; min-height:48px; padding:12px 21px; font-size:14px; box-shadow:none; line-height:1.7; }
.button .note-icon { width:19px; height:19px; }
.button.secondary { color:var(--purple); border-color:#cdb8cb; }
.textbutton,.save { min-height:44px; font-size:12px; }
.chip { min-height:44px; font-size:12px; }
input[type=search],select { min-height:48px; border-radius:4px; font-size:16px; }
.data-note,.subtle { line-height:1.95; font-size:13px; }
.page-body { padding-bottom:70px; }

/* Front cover and the table of contents are independent of the changing official window. */
.magazine-opening { display:grid; grid-template-columns:1.05fr 1fr; align-items:center; gap:20px; padding:44px 0 22px; }
.magazine-cover-copy { padding:8px 0 25px; }
.magazine-cover-copy h1 { font-family:var(--serif); font-size:clamp(32px,3.7vw,49px); line-height:1.55; margin:17px 0 22px; letter-spacing:.015em; font-weight:800; }
.magazine-cover-copy h1 em { color:var(--pink); font-style:normal; }
.magazine-cover-copy > p { font-size:14px; line-height:2.15; }
.cover-actions { display:flex; align-items:center; flex-wrap:wrap; gap:12px 23px; margin-top:26px; }
.cover-actions > a:last-child { font-size:12px; font-weight:700; min-height:44px; display:flex; align-items:center; }
.magazine-nonofficial { display:block; font-size:10px; color:var(--muted); margin-top:20px; }
.magazine-cover-art { min-width:0; position:relative; }
.magazine-cover-art > img { display:block; width:100%; height:auto; }
.cover-stat { display:flex; justify-content:center; gap:17px; margin:-5px 0 20px; padding-top:13px; border-top:1px solid #dbc6d1; }
.cover-stat > span { font-size:9px; color:var(--muted); text-align:center; line-height:1.5; }
.cover-stat b { font:26px/1.4 Georgia,serif; display:block; color:var(--pink); }
.edition-index { display:flex; flex-wrap:wrap; align-items:center; gap:7px 22px; padding:16px 20px; background:var(--navy); color:white; margin-bottom:24px; }
.edition-index > span { font-size:10px; letter-spacing:.08em; color:#d6bdcf; margin-right:auto; }
.edition-index a { font-size:12px; text-decoration:none; min-height:36px; display:flex; align-items:center; }
.edition-index a:hover { color:#f7c4dd; }
.home-paths { gap:0; border:1px solid var(--line); border-bottom:3px solid var(--pink); border-radius:0; margin-bottom:26px; }
.home-paths a,.home-paths a:nth-child(n) { border:0; border-right:1px solid var(--line); border-radius:0; box-shadow:none; background:white; padding:20px 18px; grid-template-columns:31px 1fr; gap:0 12px; }
.home-paths a:last-child { border:0; }
.home-paths a:hover { transform:none; background:#fbeaf1; }
.home-paths .note-icon { grid-row:span 2; width:28px; height:28px; color:var(--pink); }
.home-paths b { font-size:13px; }
.home-paths small { font-size:10px; }
.home-ad-row { margin:26px auto; }
.episode-hero { border-radius:4px; border:0; background:#f0e5f4; box-shadow:none; padding:28px; gap:24px; }
.episode-copy { padding:10px 12px 12px 5px; }
.episode-copy .episode-display-title { font-family:var(--serif); font-size:clamp(26px,3vw,39px); line-height:1.65; margin:16px 0; }
.episode-display-title em { font-style:normal; color:var(--pink); }
.episode-title h3 { font-size:17px; line-height:1.75; margin-top:7px; }
.episode-summary { font-size:13px; }
.feature-ribbon { background:white; border-radius:2px; border-color:#d5b5cc; font-size:10px; }
.official-screen { border-radius:5px; box-shadow:none; border-color:#d8c5d2; }
.screen-heading { padding:11px 15px; }
.screen-heading > span { font-size:11px; }
.screen-heading > small { font-size:10px; }
.official-screen figcaption { padding:15px; }
.official-screen figcaption b { font-size:13px; }
.official-screen figcaption > span { font-size:10px; }
.official-screen figcaption a { font-size:11px; }
.checked-time { font-size:11px; color:var(--muted); }
.official-tile { border-radius:5px; background:#fffdf9; }
.official-tile > p { font-size:13px; line-height:1.9; }
.x-discovery { border-radius:4px; background:#fff7ec; padding:25px; border-color:#ead9ba; }
.x-discovery-heading h3 { font-family:var(--serif); font-size:25px; }
.x-account-card { border-radius:3px; border-color:#e4d6c8; padding:18px; }
.x-account-card b { font-size:14px; }
.x-account-card p,.x-account-name { font-size:12px; }
.x-search-note { font-size:11px; }
.x-search-links a { background:var(--purple); border-radius:3px; }
.official-portals { gap:10px; }
.official-portals a { font-size:12px; min-height:44px; display:inline-flex; align-items:center; }
.pickup-row { margin-top:25px; }
.pickup-news { border-radius:0; border:0; border-block:1px solid var(--line); padding:22px 6px; }
.pickup-news b { font-size:16px; }
.pickup-news small { font-size:12px; line-height:1.85; }
.news-label { font-size:10px; color:var(--pink); }
.follow-strip { border-radius:4px; background:var(--mint); border-color:#b8d8ce; margin:26px 0 38px; padding:23px 26px; }
.follow-strip b { font-family:var(--serif); font-size:21px; }
.follow-strip p { font-size:12px; line-height:1.9; }
.home-birthdays { padding-bottom:16px; }
.birthday-grid { gap:18px; }
.birthday-card { border-radius:4px; border-color:var(--line); box-shadow:none; }
.birthday-info { padding:19px 17px 12px; }
.birthday-info h2 { font-size:18px; min-height:0; }
.birthday-info .realname,.birthday-when .next { font-size:12px; }
.birthday-series { font-size:11px; }
.birthday-video-caption strong { font-size:11px; }
.birthday-video-caption small { font-size:9px; }
.birthday-when time { font-size:36px; }
.birthday-more { font-size:12px; }
.birthday-card .calendar-btn { font-size:12px; min-height:44px; border-radius:3px; }
.birthday-controls { padding:24px; background:#f3e9f0; border:1px solid var(--line); margin-block:25px; }
.birthday-pagination { margin:26px 0; }
.event-agenda { border-radius:4px; padding:28px; background:#edf3ef; border-color:#cbdcd4; }
.agenda-heading h2 { font-family:var(--serif); }
.agenda-list li { border-radius:3px; }
.event-card { border-radius:4px; box-shadow:none; }
.event-card h2,.event-card h3 { font-family:var(--serif); }
.event-hero,.film-hero,.protection-hero { border-radius:4px; box-shadow:none; }
.event-hero h1,.film-hero h1,.protection-hero h1 { font-family:var(--serif); }
.film-spotlight { border-radius:4px; box-shadow:none; background:#faedcd; border-color:#e7d4a2; }
.film-spotlight-archive .film-spotlight-copy { padding:22px 26px; }
.film-spotlight-archive h2 { font-family:var(--serif); font-size:23px; }
.film-spotlight-archive p { font-size:13px; }
.film-spotlight-archive small { font-size:11px; }
.film-moment,.film-watch { border-radius:4px; }
.travel-feature { border-radius:4px; margin-block:45px; padding:42px; background:#e0eee9; border-color:#c1dcd2; }
.travel-feature h2 { font-family:var(--serif); font-size:32px; line-height:1.65; }
.travel-feature p { font-size:14px; }
.travel-feature-art { color:#327d7a; }
.bottom-banner { border-radius:4px; background:#f0e6f3; padding:32px; border:1px solid #ddcce5; }
.bottom-banner h2 { font-family:var(--serif); font-size:26px; line-height:1.65; }
.bottom-banner p { font-size:13px; line-height:1.95; }
.memory-showcase { margin-top:45px; border-radius:4px; box-shadow:none; background:#fae4ee; border-color:#e9c8d8; padding:32px; gap:30px; }
.memory-copy h2 { font-size:31px; line-height:1.8; }
.memory-link { min-height:44px; font-size:13px; }
.memory-pills span { font-size:10px; border-radius:3px; }
.entry-grid { gap:0; border:1px solid var(--line); margin-top:26px; }
.entry { border:0; border-right:1px solid var(--line); border-radius:0; box-shadow:none; padding:23px; }
.entry:last-child { border:0; }
.entry h3 { font-size:15px; }
.entry p { font-size:12px; }

/* The lower half has its own reading room, article index and onward navigation. */
.reading-desk { margin-top:54px; }
.desk-grid { display:grid; grid-template-columns:1fr 1fr 1.05fr; gap:18px; }
.desk-note { padding:25px 23px; border:1px solid #d7cadf; background:#ede5f2; text-decoration:none; position:relative; overflow:hidden; display:flex; flex-direction:column; min-height:295px; }
.desk-note-1 { background:#f9e3ed; border-color:#e7c7d6; }
.desk-number { font:italic 36px Georgia,serif; color:#a17eae; margin-bottom:12px; }
.desk-note-1 .desk-number { color:#bf7e9e; }
.desk-note > .note-icon { position:absolute; width:72px; height:72px; top:15px; right:12px; opacity:.18; }
.desk-note h3 { font-family:var(--serif); font-size:22px; margin:13px 0 10px; line-height:1.65; }
.desk-note p { font-size:12px; color:var(--muted); margin-bottom:20px; }
.desk-action { display:flex; align-items:center; justify-content:space-between; margin-top:auto; border-top:1px solid #c9aabd; padding-top:14px; font-size:11px; }
.desk-action .note-icon { width:18px; }
.desk-directory { padding:25px 23px; background:var(--butter); border:1px solid #ead9a1; }
.desk-directory h3 { font-family:var(--serif); font-size:23px; margin:12px 0 18px; }
.desk-directory a { display:flex; gap:9px; align-items:center; min-height:52px; border-top:1px solid #dfcc95; font-size:12px; text-decoration:none; }
.desk-directory a .note-icon { width:18px; }
.desk-directory a .note-icon:last-child { margin-left:auto; width:16px; }
.content-split { gap:32px; grid-template-columns:minmax(0,1fr) 260px; }
.card-grid { gap:24px; }
.news-card { border:1px solid var(--line); border-radius:4px; box-shadow:none; display:flex; flex-direction:column; }
.card-cover { min-height:185px; border-bottom:1px solid var(--line); border-radius:0; }
.card-cover .cover-label { font-size:10px; letter-spacing:.07em; }
.card-cover .cover-title { font-family:var(--serif); font-size:23px; line-height:1.6; }
.card-body { padding:23px; display:flex; flex-direction:column; flex:1; }
.card-tags,.badge { font-size:10px; line-height:1.8; }
.card-tags { gap:7px; }
.badge { border-radius:2px; padding:2px 7px; }
.news-card h3 { font-size:18px; line-height:1.85; }
.news-card .summary { font-size:13px; line-height:1.95; margin-top:12px; }
.card-bottom { margin-top:auto; padding-top:15px; align-items:center; font-size:10px; }
.aside-box { border-radius:3px; padding:24px; margin-bottom:23px; box-shadow:none; }
.aside-box h3 { font-family:var(--serif); font-size:19px; line-height:1.7; }
.schedule a,.aside-box p { font-size:13px; }
.schedule span,.aside-link { font-size:11px; }
.editorial-note { background:var(--butter); }
.filterbox { background:#f1e8ef; padding:18px; gap:12px; border:1px solid var(--line); }
.resultbar p { font-size:12px; }
.bookshelf { grid-template-columns:repeat(3,minmax(0,1fr)); gap:23px; }
.shelf-tools { padding:23px; border:1px solid var(--line); border-radius:4px; background:#f5ebf1; }
.book-card { padding:30px 25px; border-radius:4px; border-top:7px solid hsl(var(--book-hue) 30% 57%); box-shadow:none; min-height:355px; }
.book-card h2 { font-family:var(--serif); font-size:23px; line-height:1.6; padding-right:10px; }
.book-card p { font-size:13px; line-height:1.95; }
.book-card .button { font-size:12px; }
.book-motif { opacity:.15; }
.series-stage { padding:28px; border-radius:4px; border-color:#d8c6e0; background:#ede5f2; gap:20px; }
.series-stage.idol { background:#f9e4ed; }
.series-stage .series-panel { padding:15px; }
.series-stage .series-panel h1 { font-family:var(--serif); font-size:32px; line-height:1.6; }
.series-stage .series-panel h2 { font-size:20px; }
.series-stage .series-panel p { font-size:13px; }
.series-guide { border-radius:4px; }
.series-guide h2,.series-guide h3 { font-family:var(--serif); }
.series-guide p { font-size:14px; line-height:2; }
.series-video-grid { gap:20px; }
.video-panel { border-radius:4px; }
.video-placeholder h3 { font-size:16px; }
.video-placeholder p,.video-fallback { font-size:12px; }
.table-scroll { border-radius:4px; }
th { background:#eee5f0; }
th,td { padding:21px; }
.policy { max-width:880px; }
.policy h1 { font-family:var(--serif); font-size:36px; line-height:1.65; margin:27px 0; }
.policy h2 { font-family:var(--serif); font-size:23px; margin-top:40px; border-bottom:1px solid var(--line); padding-bottom:12px; }
.policy p,.policy li { font-size:15px; line-height:2.1; }
.policy .next-chapter h2 { border:0; padding:0; margin:8px 0 0; }
.sources,.planned,.product-block,.contact-box,.follow-box,.protection-product { border-radius:4px; }
.protection-workspace { gap:28px; }
.size-guide,.protection-workspace form { border-radius:4px; }
.size-controls select,.protection-workspace input[type=number] { font-size:16px; }
.protection-product h3 { font-family:var(--serif); }
.protection-product p,.protection-product dl { font-size:13px; line-height:1.95; }
.custom-goods-feature,.itabag-card { border-radius:4px; }
.custom-goods-heading h2,.itabag-card h3 { font-family:var(--serif); }
.custom-goods-grid article { border-radius:3px; }
.custom-goods-grid p,.itabag-card > p { font-size:13px; }

/* Articles retain evidence and related notes in the main column on narrow screens. */
.article-layout { grid-template-columns:minmax(0,820px) 260px; gap:45px; }
.article-content h1 { font-family:var(--serif); font-size:clamp(29px,3.3vw,42px); line-height:1.75; margin:20px 0; }
.article-lead { font-size:16px; line-height:2; }
.article-meta { background:#f4edf1; padding:18px; border:0; font-size:11px; margin:24px 0 7px; }
.article-byline { font-size:12px; margin:12px 0 25px; }
.article-contents { background:#fff; border:1px solid #deccd6; border-left:4px solid var(--pink); padding:25px 28px; margin:25px 0 18px; }
.article-contents > b { display:block; margin-top:6px; font-family:var(--serif); font-size:19px; }
.article-contents ol { padding-left:22px; margin:16px 0; }
.article-contents li { padding:5px 0; font-size:14px; }
.article-contents li::marker { color:var(--pink); font:italic 14px Georgia,serif; }
.article-contents a { text-decoration:none; }
.contents-source { display:inline-flex; align-items:center; min-height:40px; color:var(--pink); font-size:12px; }
.article-block { padding-top:40px; scroll-margin-top:25px; }
.article-block h2 { font-family:var(--serif); font-size:25px; line-height:1.75; border-left:0; padding:0 0 14px; border-bottom:1px solid #d8bfcc; margin-bottom:20px; }
.article-block p { font-size:16px; line-height:2.2; }
.block-label { font-size:10px; color:var(--pink); }
.article-block.note { border-radius:4px; border-left:3px solid #c9b38b; padding:25px; background:#f7eedb; }
.article-block.note h2 { font-family:var(--serif); font-size:21px; }
.article-block.note p { font-size:14px; }
.sources { padding:26px; background:#fff; margin-top:40px; scroll-margin-top:25px; }
.sources h2 { font-family:var(--serif); font-size:23px; }
.source-list li { font-size:13px; line-height:1.9; }
.source-list small { font-size:11px; line-height:1.85; margin-top:5px; }
.callout { border-radius:3px; }
.related-notes { margin-top:50px; padding-top:28px; border-top:3px solid var(--pink); }
.related-notes > h2 { font-family:var(--serif); font-size:27px; margin:8px 0 23px; }
.related-note-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.related-note-grid > a { display:flex; flex-direction:column; padding:23px; border:1px solid var(--line); background:white; text-decoration:none; }
.related-note-grid > a > span { color:var(--pink); font-size:11px; }
.related-note-grid h3 { font-size:16px; line-height:1.9; margin:10px 0 18px; }
.related-note-grid small { display:flex; align-items:center; justify-content:space-between; color:var(--muted); font-size:10px; margin-top:auto; }
.related-note-grid small .note-icon { width:18px; }
.related-note-grid .related-series { background:var(--mint); border-color:#bed9cf; }
.related-series > .note-icon { color:#327d7a; width:29px; height:29px; }
.related-series p { font-size:12px; margin-bottom:20px; }
.next-chapter { margin:60px 0 0; padding:32px 0 0; border-top:2px solid var(--ink); }
.next-chapter h2 { font-family:var(--serif); font-size:26px; margin-top:7px; }
.next-chapter nav { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin-top:25px; }
.next-chapter nav a { display:flex; gap:13px; align-items:center; padding:23px 17px; background:white; border:1px solid var(--line); text-decoration:none; font-size:13px; font-weight:700; line-height:1.8; }
.next-chapter nav a > .note-icon:first-child { width:27px; height:27px; color:var(--pink); }
.next-chapter nav a > .note-icon:last-child { width:18px; height:18px; margin-left:auto; }
.next-chapter small { display:block; font-size:9px; color:var(--muted); margin-bottom:5px; }

/* Footer is a useful directory, with the existing disclosure and policy links intact. */
.magazine-footer { margin-top:0; padding:48px 0 25px; background:var(--navy); color:#fff7f3; border:0; }
.footer-invitation { position:relative; padding-bottom:30px; border-bottom:1px solid #725d77; }
.footer-invitation .eyebrow { color:#e5a9ca; }
.footer-invitation h2 { font-family:var(--serif); font-size:34px; line-height:1.7; margin-top:8px; }
.footer-invitation > a { position:absolute; right:0; bottom:40px; font-size:11px; }
.footer-directory { display:grid; grid-template-columns:repeat(3,1fr); gap:0 40px; padding:18px 0 33px; }
.footer-directory a { display:flex; justify-content:space-between; align-items:center; min-height:52px; border-bottom:1px solid #69536e; text-decoration:none; font-size:13px; }
.footer-directory .note-icon { width:18px; height:18px; color:#e5a9ca; }
.footer-top { border-top:1px solid #725d77; padding-top:31px; }
.footer-brand { font-family:var(--serif); font-size:25px; }
.footer-top p,.footer-subtitle { color:#d1bed4; font-size:11px; line-height:1.9; }
.footer-links { gap:10px 24px; max-width:420px; }
.footer-links a { display:flex; align-items:center; min-height:36px; font-size:12px; }
.social-links a { color:#fff7f3; background:#4b3656; border-color:#84618a; border-radius:3px; font-size:11px; }
.amazon-disclosure { color:#ddcde0; font-size:12px; }
.footer-bottom { color:#c9b8cc; border-color:#725d77; font-size:10px; line-height:1.9; }
.magazine-footer a:hover { color:#f8bfdc; }

@media (max-width:1100px) {
  .wrap { width:calc(100% - 48px); }
  .mainnav a { flex:1 0 19%; min-height:43px; font-size:11px; }
  .magazine-cover-copy h1 { font-size:38px; }
  .home-paths a { padding:18px 11px; gap:0 8px; }
  .home-paths b { font-size:12px; }
  .desk-grid { grid-template-columns:1fr 1fr; }
  .desk-directory { grid-column:1/-1; display:grid; grid-template-columns:1fr 1fr; gap:0 25px; }
  .desk-directory .eyebrow { grid-column:1; }
  .desk-directory h3 { grid-column:1; grid-row:2/5; }
  .desk-directory a { grid-column:2; }
  .content-split { grid-template-columns:minmax(0,1fr) 230px; gap:23px; }
  .card-body { padding:19px; }
  .article-layout { grid-template-columns:minmax(0,1fr) 220px; gap:28px; }
  .bookshelf { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .series-stage .series-panel h1 { font-size:27px; }
  .next-chapter nav { gap:10px; }
  .next-chapter nav a { padding:20px 13px; font-size:12px; gap:9px; }
}
@media (max-width:760px) {
  .wrap { width:calc(100% - 36px); }
  .topline .wrap { padding-block:7px; font-size:9px; letter-spacing:.03em; }
  .masthead { padding:20px 0 18px; }
  .editorial-brand { gap:10px; }
  .editorial-brand img { width:46px; height:46px; }
  .editorial-brand small { font-size:7px; letter-spacing:.1em; margin-bottom:5px; }
  .editorial-brand b { font-size:24px; }
  .editorial-brand b span { font-size:18px; margin-left:5px; }
  .editorial-brand em { font-size:9px; margin-top:6px; }
  .mast-tools,.mainnav { display:none; }
  .mobile-nav { display:grid; grid-template-columns:.9fr .9fr 1.3fr; align-items:stretch; position:relative; }
  .mobile-nav > a,.all-menu > summary { min-height:50px; display:flex; align-items:center; justify-content:center; gap:6px; padding:8px 2px; font-size:11px; text-decoration:none; font-weight:700; cursor:pointer; }
  .mobile-nav > a { border-right:1px solid var(--line); }
  .mobile-nav .note-icon { width:17px; height:17px; color:var(--pink); }
  .all-menu > summary { list-style:none; }
  .all-menu > summary::-webkit-details-marker { display:none; }
  .all-menu > summary span { margin-left:3px; font-size:16px; color:var(--pink); }
  .all-menu[open] > summary { background:#f9e4ef; }
  .all-menu nav { position:absolute; top:100%; left:0; right:0; display:grid; grid-template-columns:1fr 1fr; padding:14px; background:#fffdf9; border:1px solid var(--line); box-shadow:0 12px 24px #35263f21; z-index:30; }
  .all-menu nav a { display:flex; align-items:center; gap:8px; font-size:12px; line-height:1.6; min-height:51px; padding:8px 6px; text-decoration:none; border-bottom:1px solid var(--line); }
  .all-menu nav a[aria-current=page] { color:var(--pink); background:#faedf3; }
  .breadcrumb { padding-top:22px; margin-bottom:20px; font-size:11px; }
  .page-intro { padding-top:10px; margin-bottom:23px; padding-bottom:25px; }
  .page-intro h1 { font-size:29px; line-height:1.65; }
  .page-intro .intro-note { font-size:12px; }
  .eyebrow { font-size:10px; letter-spacing:.12em; }
  .section-title { margin:40px 0 23px; align-items:start; gap:13px; }
  .section-title h2 { font-size:24px; line-height:1.65; }
  .section-title:before { width:5px; }
  .section-title > a { font-size:11px; max-width:29%; margin-top:5px; }
  .section-title > small { display:none; }
  .magazine-opening { padding:28px 0 18px; grid-template-columns:1fr; gap:0; }
  .magazine-cover-copy { padding:4px 3px 0; position:relative; }
  .magazine-cover-copy h1 { font-size:clamp(28px,7.7vw,43px); line-height:1.6; margin:13px 0 15px; }
  .magazine-cover-copy > p { font-size:13px; line-height:2; }
  .cover-actions { margin-top:20px; gap:7px 17px; }
  .cover-actions .button { font-size:13px; padding:12px 15px; }
  .cover-actions > a:last-child { font-size:11px; }
  .magazine-nonofficial { font-size:9px; margin-top:12px; }
  .magazine-cover-art { display:grid; grid-template-columns:1fr 105px; align-items:center; margin-top:6px; gap:7px; }
  .magazine-cover-art > img { max-width:300px; margin:auto; }
  .cover-stat { flex-direction:column; gap:12px; margin:0; border:0; padding:0 0 0 13px; border-left:1px solid #dbc6d1; }
  .cover-stat > span { text-align:left; font-size:9px; }
  .cover-stat b { display:inline; font-size:23px; margin-right:5px; }
  .edition-index { gap:0; padding:12px 15px; display:grid; grid-template-columns:repeat(3,1fr); }
  .edition-index > span { grid-column:1/-1; margin:0 0 6px; }
  .edition-index a { font-size:11px; min-height:37px; }
  .home-paths { grid-template-columns:1fr 1fr; margin-top:20px; }
  .home-paths a,.home-paths a:nth-child(n) { padding:17px 12px; grid-template-columns:24px 1fr; gap:0 10px; border:0; border-bottom:1px solid var(--line); }
  .home-paths a:nth-child(odd) { border-right:1px solid var(--line); }
  .home-paths .note-icon { width:23px; height:23px; }
  .home-paths b { font-size:12px; }
  .home-paths small { font-size:10px; }
  .home-ad-row { margin-block:24px; }
  .episode-hero { padding:23px 19px; gap:20px; }
  .episode-copy { padding:0; }
  .episode-copy .episode-display-title { font-size:31px; line-height:1.6; }
  .episode-title h3 { font-size:18px; }
  .episode-summary { font-size:13px; line-height:2; }
  .episode-air { font-size:15px; }
  .official-grid { gap:22px; }
  .official-screen .video-frame { min-height:0; }
  .official-screen figcaption { grid-template-columns:1fr; gap:5px; }
  .official-screen figcaption a { grid-column:1; grid-row:auto; justify-self:start; min-height:34px; display:flex; align-items:center; }
  .official-screen figcaption b { font-size:13px; }
  .official-screen figcaption > span { font-size:11px; }
  .screen-heading { padding:10px 12px; flex-wrap:wrap; gap:3px 8px; }
  .checked-time { font-size:10px; }
  .x-discovery { padding:22px 17px; }
  .x-discovery-heading h3 { font-size:24px; }
  .x-account-grid { gap:10px; }
  .x-account-card { padding:16px; }
  .x-latest-link { font-size:12px; }
  .x-search-note { font-size:10px; }
  .pickup-news { gap:12px; padding-block:20px; align-items:flex-start; }
  .pickup-news b { font-size:14px; line-height:1.85; }
  .pickup-news small { font-size:12px; }
  .news-label { font-size:8px; padding-right:12px; margin-top:5px; }
  .news-arrow { display:none; }
  .follow-strip { padding:23px 20px; margin-block:25px 32px; }
  .follow-strip b { font-size:21px; }
  .follow-strip .button { margin-top:14px; }
  .birthday-grid { gap:12px; grid-template-columns:1fr 1fr; }
  .birthday-info { padding:15px 12px 10px; }
  .birthday-info h2 { font-size:15px; line-height:1.75; }
  .birthday-info .realname { font-size:11px; }
  .birthday-when time { font-size:32px; }
  .birthday-when .next { font-size:11px; }
  .birthday-series { font-size:10px; }
  .birthday-video-caption { padding:8px 10px; }
  .birthday-video-caption strong { font-size:10px; }
  .birthday-video-caption small { font-size:9px; }
  .birthday-more { font-size:11px; }
  .birthday-controls { padding:17px; grid-template-columns:1fr; gap:12px; }
  .event-agenda { padding:24px 17px; }
  .agenda-list a { font-size:14px; }
  .agenda-list small { font-size:11px; }
  .travel-feature { padding:28px 24px; margin-block:35px; }
  .travel-feature h2 { font-size:27px; line-height:1.7; }
  .travel-feature p { font-size:13px; }
  .bottom-banner { padding:25px 22px; }
  .bottom-banner h2 { font-size:24px; }
  .memory-showcase { padding:26px 22px; margin-top:35px; }
  .memory-copy { padding:0; }
  .memory-copy h2 { font-size:28px; }
  .memory-copy p { font-size:14px; }
  .entry-grid { grid-template-columns:1fr; gap:0; }
  .entry { border-right:0; border-bottom:1px solid var(--line); padding:20px; grid-template-columns:65px 1fr; gap:0 13px; }
  .entry h3 { font-size:14px; line-height:1.85; }
  .entry p { font-size:12px; }
  .desk-grid { grid-template-columns:1fr 1fr; gap:12px; }
  .desk-note { min-height:300px; padding:21px 16px; }
  .desk-note h3 { font-size:20px; line-height:1.8; }
  .desk-note p { font-size:12px; }
  .desk-action { gap:8px; font-size:10px; line-height:1.9; }
  .desk-number { font-size:32px; }
  .desk-note > .note-icon { width:52px; height:52px; }
  .desk-directory { padding:23px; }
  .desk-directory h3 { font-size:22px; }
  .desk-directory a { font-size:12px; gap:6px; }
  .content-split { grid-template-columns:1fr; gap:25px; }
  .sidebar { gap:15px; }
  .aside-box { padding:22px; }
  .aside-box h3 { font-size:20px; }
  .aside-box p { font-size:13px; }
  .schedule a { font-size:12px; }
  .filterbox { padding:14px; grid-template-columns:1fr; }
  .card-grid { grid-template-columns:minmax(0,1fr); gap:17px; }
  .news-card { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr); }
  .card-cover { min-height:100%; padding:18px 13px; border-bottom:0; border-right:1px solid var(--line); }
  .card-cover .cover-label { font-size:8px; }
  .card-cover .cover-title { font-size:19px; max-width:100%; margin-top:15px; }
  .card-cover .art-object { width:125px; height:125px; right:-25px; bottom:-25px; }
  .card-cover .art-object > .motif { width:115px; height:115px; }
  .cover-date { font-size:31px; margin:16px 0 30px; }
  .card-body { padding:17px; }
  .news-card h3 { font-size:15px; line-height:1.9; }
  .news-card .summary { font-size:12px; line-height:1.95; margin-top:10px; }
  .card-bottom { align-items:flex-start; padding-top:12px; gap:0; }
  .save { font-size:11px; }
  .bookshelf { grid-template-columns:1fr; gap:19px; }
  .book-card { min-height:0; padding:29px 24px; }
  .book-card h2 { font-size:25px; }
  .book-card p { font-size:14px; }
  .shelf-tools { padding:18px; }
  .series-stage { padding:24px 19px; gap:22px; }
  .series-stage .series-panel { padding:0; }
  .series-stage .series-panel h1 { font-size:29px; line-height:1.7; }
  .series-stage .series-panel p { font-size:14px; }
  .series-stage .series-panel h2 { font-size:21px; }
  .series-guide p { font-size:14px; }
  .policy h1 { font-size:29px; }
  .policy h2 { font-size:23px; }
  .policy p,.policy li { font-size:14px; }
  .article-layout { grid-template-columns:1fr; }
  .article-content h1 { font-size:29px; line-height:1.75; }
  .article-lead { font-size:15px; }
  .article-meta { padding:16px; gap:7px 14px; }
  .article-contents { padding:23px 21px; }
  .article-contents li { font-size:14px; padding:7px 0; }
  .article-block { padding-top:35px; }
  .article-block h2 { font-size:23px; }
  .article-block p { font-size:15px; line-height:2.2; }
  .block-label { font-size:9px; line-height:1.9; }
  .sources { padding:23px 20px; }
  .source-list { padding-left:20px; }
  .source-list li { font-size:13px; }
  .related-note-grid { grid-template-columns:1fr; gap:13px; }
  .related-notes > h2 { font-size:25px; }
  .related-note-grid > a { padding:23px; }
  .related-note-grid h3 { font-size:16px; }
  .next-chapter { margin-top:45px; padding-top:27px; }
  .next-chapter h2 { font-size:24px; }
  .next-chapter nav { grid-template-columns:1fr; gap:11px; margin-top:23px; }
  .next-chapter nav a { padding:20px; font-size:13px; gap:15px; }
  .next-chapter small { font-size:10px; }
  .page-body { padding-bottom:45px; }
  .magazine-footer { padding-top:36px; }
  .footer-invitation { padding-bottom:60px; }
  .footer-invitation h2 { font-size:28px; }
  .footer-invitation > a { left:0; right:auto; bottom:20px; min-height:30px; }
  .footer-directory { grid-template-columns:1fr 1fr; gap:0 22px; padding-bottom:26px; }
  .footer-directory a { font-size:12px; min-height:58px; gap:10px; }
  .footer-top { padding-top:25px; }
  .footer-links { gap:5px 22px; }
  .footer-links a { min-height:40px; font-size:12px; }
  .footer-brand { font-size:24px; }
  .footer-top p { font-size:11px; }
  .footer-bottom { font-size:10px; }
}
@media (max-width:600px) {
  .news-card { grid-template-columns:minmax(0,1fr); }
  .card-cover { height:clamp(140px,40vw,160px); min-height:0; max-height:160px; padding:16px 20px; border-right:0; border-bottom:1px solid var(--line); }
  .card-cover .cover-label { font-size:9px; line-height:1.6; }
  .card-cover .cover-title { max-width:100%; margin-top:0; font-size:21px; line-height:1.5; }
  .cover-date { margin:0; font-size:28px; }
  .cover-date small { margin-top:4px; font-size:7px; line-height:1.3; }
  .card-body { padding:21px; }
  .card-bottom { flex-direction:row; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:4px 12px; }
}
@media (max-width:400px) {
  .editorial-brand img { width:39px; height:39px; }
  .editorial-brand b { font-size:22px; }
  .editorial-brand b span { font-size:16px; margin-left:4px; }
  .editorial-brand em { font-size:8px; }
  .magazine-cover-copy h1 { font-size:28px; }
  .cover-actions { gap:4px 10px; }
  .cover-actions .button { font-size:12px; padding:12px; }
  .cover-actions > a:last-child { font-size:10px; }
  .home-paths a,.home-paths a:nth-child(n) { padding:16px 10px; gap:0 7px; }
  .home-paths b { font-size:11px; }
  .home-paths small { font-size:9px; }
  .magazine-cover-art { grid-template-columns:1fr 95px; }
  .desk-grid { grid-template-columns:1fr; }
  .desk-note { min-height:250px; padding:24px; }
  .desk-note h3 { font-size:23px; }
  .desk-directory { display:block; }
  .desk-directory h3 { margin-bottom:20px; }
  .article-content h1 { font-size:26px; }
  .section-title h2 { font-size:22px; }
  .footer-invitation h2 { font-size:25px; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { transition:none!important; animation:none!important; }
}

/* A+B: a pastel sky around a quiet, warm-white fan notebook.
   Static decorative SVGs have no DOM, hit targets, fonts or animation. */
html { background:#f7eefa; }
body {
  background-color:#f7eefa;
  background-image:url('/assets/kirameki-pastel-sky.svg'),
    radial-gradient(ellipse at 0 10%,#ffd9e9b3,transparent 62%),
    radial-gradient(ellipse at 100% 46%,#dbeeffb3,transparent 65%),
    linear-gradient(165deg,#fff0f5 0%,#f0e7fc 48%,#eaf5ff 76%,#fff0f4 100%);
  background-size:100% auto,100% 1100px,100% 1500px,100% 1800px;
  background-repeat:repeat-y;
}
.topline { background:linear-gradient(100deg,#513350,#453253 60%,#3e3b62); }
.masthead { position:relative; background:url('/assets/kirameki-note-confetti.svg') right 38% / 175px auto no-repeat; }
.mast-tools { position:relative; background:#fffafbc9; padding:5px 10px; border-radius:12px; }
.navborder { border-top-color:#c99db9; background:#fffcf9f5; border-bottom:2px solid #e9cee3; }
main.wrap {
  position:relative;
  background:linear-gradient(180deg,#fffcf9f7,#fffdfbf7);
  border-radius:22px;
  box-shadow:0 0 0 22px #fffcf9e8,0 14px 48px 24px #89618d12;
  margin-top:27px;
  margin-bottom:42px;
}
.magazine-opening { background:url('/assets/kirameki-note-confetti.svg') right 8px / 210px auto no-repeat; }
.section-title { position:relative; }
.section-title:before {
  width:8px; background:linear-gradient(#ba5b91,#b99bd2);
  clip-path:polygon(0 0,100% 0,100% 100%,50% calc(100% - 6px),0 100%);
}
.section-title:after {
  content:""; position:absolute; right:0; top:-32px; width:86px; height:46px;
  background:url('/assets/kirameki-note-confetti.svg') center / contain no-repeat;
  pointer-events:none;
}
.page-intro,body .calendar-opening {
  background-image:linear-gradient(90deg,#fffaf9f2,#fffaf91a),url('/assets/kirameki-note-confetti.svg');
  background-position:center,right top;
  background-size:auto,190px auto;
  background-repeat:no-repeat;
}
.edition-index { border-radius:8px; border-bottom:3px solid #c797ba; }
.daily-desk { box-shadow:0 6px 22px #a77aa00a; }
.daily-heading {
  background-image:linear-gradient(105deg,#fff7f9f5,#fff7f9b8),url('/assets/kirameki-note-confetti.svg');
  background-position:center,right center; background-size:auto,190px auto; background-repeat:no-repeat;
}
.article-content,.policy { background-color:#fffdfa; }
.magazine-footer {
  background-color:#3c2c49;
  background-image:linear-gradient(#3c2c496e,#3c2c49b0),url('/assets/kirameki-pastel-sky.svg');
  background-size:auto,100% auto;
  border-top:4px solid #dcbbd4;
}
@media(max-width:1100px) {
  main.wrap { box-shadow:0 0 0 14px #fffcf9e8,0 12px 32px 14px #89618d10; }
}
@media(max-width:760px) {
  body {
    background-image:url('/assets/kirameki-pastel-mobile.svg'),
      radial-gradient(ellipse at 0 0,#ffd7e8a6,transparent 70%),
      linear-gradient(165deg,#fff0f5,#ece7fc 50%,#e7f3ff 80%,#fff0f5);
    background-size:100% auto,100% 800px,100% 1300px;
  }
  .masthead { background:none; }
  main.wrap { margin-top:20px; margin-bottom:30px; border-radius:14px; box-shadow:0 0 0 9px #fffcf9e8,0 8px 20px 9px #89618d0a; }
  .magazine-opening { background-size:130px auto; background-position:right top; }
  .section-title:after { width:65px; height:36px; top:-29px; }
  .page-intro,body .calendar-opening { background-size:auto,135px auto; }
  .daily-heading { background-size:auto,145px auto; }
  .magazine-footer { background-size:auto,900px auto; }
}
@media(forced-colors:active) {
  body,.masthead,.magazine-opening,.page-intro,body .calendar-opening,.daily-heading,.magazine-footer { background-image:none; }
  main.wrap { box-shadow:none; outline:1px solid CanvasText; }
  .section-title:after { display:none; }
}

/* Rounded display lettering; body copy and dates retain a clear Gothic face. */
h1,h2,h3 { font-family:var(--display-font); font-weight:700; }
body .editorial-brand b { font-family:var(--display-font); font-weight:700; letter-spacing:.015em; }
body .magazine-cover-copy h1 { font-weight:700; letter-spacing:.01em; line-height:1.6; }
body .section-title h2 { letter-spacing:.015em; }
body .desk-dateline,body .fan-agenda-item>time>span,body .fan-agenda-item>time>b,
body .birthday-when time,body .cover-date { font-family:var(--body-font); }
button,input,select,textarea { font-family:var(--body-font); }
@media(max-width:359px) {
  body .home-magazine .magazine-cover-copy h1 { font-size:28px; letter-spacing:0; }
}
