:root{--color-bg:#fbf3e4;--color-surface:#fffaf0;--color-navy:#141c45;--color-navy-soft:#2b3566;--color-gold:#b8862d;--color-gold-light:#e2c07a;--color-accent:#9b3b3b;--color-text:#1d2240;--color-muted:#5d6079;--color-line:#e6d5b0;--font-serif:"Hiragino Mincho ProN", "Yu Mincho", "YuMincho", "Noto Serif JP", "Noto Serif CJK JP", Georgia, serif;--font-sans:-apple-system, BlinkMacSystemFont, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", "Yu Gothic", Meiryo, sans-serif;--fs:17px;--header-h:52px;--tabbar-h:58px}html[data-fs=s]{--fs:15px}html[data-fs=m]{--fs:17px}html[data-fs=l]{--fs:21px}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-padding-top:var(--header-h)}body{background:radial-gradient(120% 40% at 0% 0%, #2b35661a, transparent 60%), radial-gradient(120% 40% at 100% 100%, #b8862d24, transparent 60%), var(--color-bg);color:var(--color-text);font-family:var(--font-sans);font-size:var(--fs);padding-bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom));background-attachment:fixed;margin:0;line-height:1.8}main,.site-header,.site-footer,.tabbar{max-width:560px;margin-inline:auto}main{padding:0 16px 8px}img{max-width:100%;height:auto;display:block}a{color:var(--color-navy)}h1,h2,h3{font-family:var(--font-serif);color:var(--color-navy);margin:0;line-height:1.35}p{margin:0 0 .8em}small{color:var(--color-muted);font-size:.82em}.site-header{z-index:20;height:var(--header-h);background:var(--color-navy);border-bottom:2px solid var(--color-gold);justify-content:space-between;align-items:center;gap:8px;padding:0 12px 0 16px;display:flex;position:sticky;top:0}.brand{color:#fff;font-family:var(--font-serif);letter-spacing:.08em;white-space:nowrap;font-size:15px;text-decoration:none}.fs{align-items:center;gap:4px;display:flex}.fs-label{color:var(--color-gold-light);margin-right:2px;font-size:11px}.fs button{color:#fff;width:40px;height:40px;font-family:var(--font-sans);cursor:pointer;background:0 0;border:1px solid #e2c07a8c;border-radius:8px;padding:0}.fs button[data-fs-btn=s]{font-size:12px}.fs button[data-fs-btn=m]{font-size:15px}.fs button[data-fs-btn=l]{font-size:19px}.fs button[aria-pressed=true]{background:var(--color-gold);border-color:var(--color-gold);color:var(--color-navy);font-weight:700}.tabbar{z-index:20;background:var(--color-navy);border-top:2px solid var(--color-gold);padding-bottom:env(safe-area-inset-bottom);grid-template-columns:repeat(3,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.tabbar a{height:var(--tabbar-h);color:#d9dcec;letter-spacing:.06em;justify-content:center;align-items:center;font-size:14px;text-decoration:none;display:flex}.tabbar a[aria-current=page]{color:var(--color-gold-light);box-shadow:inset 0 3px 0 var(--color-gold);font-weight:700}.page-head{text-align:center;padding:28px 0 14px}.page-head h1{letter-spacing:.08em;font-size:1.55em}.eyebrow{color:var(--color-gold);letter-spacing:.12em;margin:0 0 2px;font-size:.95em;font-style:italic}.lead{color:var(--color-muted);margin:8px 0 0;font-size:.85em}.card{background:var(--color-surface);border:2px solid var(--color-gold-light);border-radius:14px;margin:16px 0;padding:20px 18px;position:relative}.card h2{letter-spacing:.08em;text-align:center;border-bottom:1px solid var(--color-gold-light);margin-bottom:14px;padding-bottom:10px;font-size:1.15em}.card>:last-child{margin-bottom:0}.center{text-align:center}.btn{border:1.5px solid var(--color-navy);min-height:52px;color:var(--color-navy);letter-spacing:.06em;background:0 0;border-radius:999px;justify-content:center;align-items:center;margin:12px 0 0;padding:10px 16px;font-weight:700;text-decoration:none;display:flex}.btn-primary{background:var(--color-navy);color:#fff;border-color:var(--color-navy);box-shadow:0 0 0 2px var(--color-bg), 0 0 0 3px var(--color-gold)}.btn-gold{background:var(--color-gold);border-color:var(--color-gold);color:#fff}.hero{margin:0 -16px;position:relative}.hero img{width:100%}.hero:after{content:"";background:linear-gradient(to bottom, #fbf3e400, var(--color-bg));height:56px;position:absolute;bottom:0;left:0;right:0}.intro{text-align:center;padding:8px 0}.welcome{color:var(--color-navy);letter-spacing:.06em;margin:0 0 4px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.intro h1{letter-spacing:.06em;font-size:1.9em}.tagline{color:var(--color-muted);margin-bottom:6px;font-size:.85em}.subtitle{color:var(--color-gold);letter-spacing:.1em;margin:6px 0 14px}.info{grid-template-columns:auto 1fr;gap:10px 14px;margin:0;display:grid}.info dt{color:var(--color-gold);white-space:nowrap;padding-top:.1em;font-size:.9em}.info dd{margin:0;line-height:1.6}.info .line{display:block}.links{margin:0;padding:0;list-style:none}.links li+li{border-top:1px dashed var(--color-line)}.links a{word-break:break-all;align-items:center;min-height:48px;text-decoration:none;display:flex}.next-title{font-size:1.1em;font-weight:700}.part-title{text-align:center;letter-spacing:.3em;color:#fff;background:var(--color-navy);border-block:2px solid var(--color-gold);border-radius:6px;margin:22px 0 14px;padding:8px 0;font-size:1.2em}.block{background:var(--color-surface);border:1px solid var(--color-gold-light);border-radius:12px;margin:12px 0;padding:14px 14px 6px}.block-title{letter-spacing:.04em;border-left:3px solid var(--color-gold);padding-left:10px;font-size:1.08em}.block-sub{color:var(--color-muted);margin:6px 0 0;font-size:.8em;line-height:1.5}.block.collab{background:var(--color-navy);border-color:var(--color-gold)}.block.collab .block-title{color:var(--color-gold-light);border-left-color:var(--color-gold-light)}.block.collab .block-sub{color:#cfd3e8}.star{margin-right:6px}.songs{margin:8px 0 0;padding:0;list-style:none}.songs li+li{border-top:1px dashed var(--color-line)}.block.collab .songs li+li{border-top-color:#e2c07a59}.songs a{min-height:56px;color:var(--color-text);align-items:center;gap:12px;padding:8px 2px;text-decoration:none;display:flex}.block.collab .songs a{color:#fff}.no{color:var(--color-gold);min-width:1.8em;font-size:.95em}.block.collab .no{color:var(--color-gold-light)}.names{flex-direction:column;flex:1;line-height:1.4;display:flex}.t{font-weight:700}.tj{color:var(--color-muted);font-size:.8em}.block.collab .tj{color:#cfd3e8}.chev{color:var(--color-gold);font-size:1.4em;line-height:1}.break{color:var(--color-accent);letter-spacing:.2em;align-items:center;gap:12px;margin:26px 0;display:flex}.break:before,.break:after{content:"";background:var(--color-gold-light);flex:1;height:1px}.song-head{text-align:center;border-bottom:1px solid var(--color-gold-light);padding:26px 0 18px}.song-head h1{font-size:1.6em}.song-ja{color:var(--color-muted);margin:4px 0 0;font-size:.9em}.performer{background:var(--color-navy);color:#fff;letter-spacing:.04em;border-radius:999px;margin:12px 0 0;padding:3px 14px;font-size:.8em;line-height:1.6;display:inline-block}.credits{color:var(--color-muted);margin:10px 0 0;font-size:.75em}.lyrics{padding:22px 2px 8px}.stanza{margin:0 0 2em}.l{margin-bottom:.7em;display:block}.en{color:var(--color-navy);overflow-wrap:break-word;font-size:1.05em;font-weight:500;line-height:1.5;display:block}.ja{color:var(--color-muted);padding-left:.2em;font-size:.84em;line-height:1.6;display:block}.l>.ja:only-child{color:var(--color-text);font-size:1em}.pager{grid-template-columns:1fr auto 1fr;align-items:stretch;gap:8px;margin:8px 0 20px;display:grid}.pager a{border:1px solid var(--color-gold-light);background:var(--color-surface);border-radius:12px;flex-direction:column;justify-content:center;min-width:0;min-height:60px;padding:8px 12px;line-height:1.35;text-decoration:none;display:flex}.pager a span{text-overflow:ellipsis;white-space:nowrap;font-size:.82em;font-weight:700;overflow:hidden}.pager small{color:var(--color-gold)}.pager .next{text-align:right}.pager .list{background:var(--color-navy);color:#fff;border-color:var(--color-navy);align-items:center;padding-inline:16px;font-size:.85em}.artist{text-align:center}.artist img{aspect-ratio:3/2;object-fit:cover;border-radius:10px;width:100%;margin-bottom:14px}.artist h2{border:0;margin:0;padding:0;font-size:1.4em}.kana{color:var(--color-gold);letter-spacing:.2em;margin:2px 0 12px;font-size:.72em}.region{background:var(--color-gold);color:#fff;letter-spacing:.2em;border-radius:4px;width:max-content;margin:8px auto 0;padding:1px 14px;display:block}.bio{text-align:left;font-size:.9em}.prose p{margin-bottom:1em}.site-footer{text-align:center;color:var(--color-muted);padding:28px 16px 24px;font-size:.8em}.site-footer p{margin:0}.footer-title{font-family:var(--font-serif);color:var(--color-navy);letter-spacing:.12em;font-size:1.1em}.footer-org{margin-top:6px!important}a:focus-visible,button:focus-visible{outline:3px solid var(--color-gold);outline-offset:2px}.signature{text-align:right;margin-top:1.4em}
