:root{--idc-green:#198352;--idc-green-soft:#e8f5ee;--idc-text:#17211b;--idc-muted:#647067;--idc-border:#dce5df;--idc-surface:#fff;--idc-font-step:0rem}
.idc-song{max-width:820px;margin-inline:auto;color:var(--idc-text);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.65}
.idc-song *{box-sizing:border-box}.idc-song a{color:var(--idc-green);text-underline-offset:3px}.idc-breadcrumb{display:flex;gap:.45rem;align-items:center;overflow:hidden;color:var(--idc-muted);font-size:.875rem;white-space:nowrap}.idc-breadcrumb span:last-child{overflow:hidden;text-overflow:ellipsis}
.idc-song-header{margin:1rem 0}.idc-song-header h1{font-size:clamp(1.6rem,7vw,2.35rem);line-height:1.2;margin:0 0 .45rem}.idc-artist-link{font-weight:650}
.idc-controls{position:sticky;top:0;z-index:20;display:flex;gap:.5rem;align-items:stretch;overflow-x:auto;margin:1rem 0;padding:.55rem;border:1px solid var(--idc-border);border-radius:14px;background:color-mix(in srgb,var(--idc-surface) 94%,transparent);box-shadow:0 8px 24px rgba(15,40,25,.07);backdrop-filter:blur(10px)}
.idc-control{display:grid;grid-template-columns:auto 2rem 1.8rem 2rem;align-items:center;flex:0 0 auto;gap:.15rem;padding-left:.45rem;border:1px solid var(--idc-border);border-radius:10px;background:var(--idc-surface);font-size:.78rem}.idc-control button,.idc-control-button,.idc-tabs button,.idc-chord-chip,.idc-report button{appearance:none;border:0;background:transparent;color:inherit;font:inherit;cursor:pointer}.idc-control button{height:2.4rem;font-size:1.15rem}.idc-control output{text-align:center;font-weight:750}.idc-control-button{flex:0 0 auto;border:1px solid var(--idc-border);border-radius:10px;padding:.55rem .75rem;background:var(--idc-surface);font-size:.82rem;font-weight:700}.idc-control-button[aria-pressed="true"]{background:var(--idc-green);color:#fff}.idc-autoscroll-control{display:flex;align-items:center;gap:.4rem;flex:0 0 auto}.idc-scroll-speed{display:flex;align-items:center;gap:.35rem;padding:.35rem .55rem;border:1px solid var(--idc-border);border-radius:10px;background:var(--idc-surface);font-size:.72rem;white-space:nowrap}.idc-scroll-speed input{width:72px;accent-color:var(--idc-green)}.idc-scroll-speed output{min-width:1.7rem;font-weight:800;text-align:right}
.idc-tabs{display:flex;gap:.35rem;margin:1rem 0}.idc-tabs button{padding:.6rem 1rem;border-radius:999px;border:1px solid var(--idc-border);font-weight:700}.idc-tabs button[aria-selected="true"]{background:var(--idc-green);border-color:var(--idc-green);color:#fff}
.idc-chord-panel{margin:1rem 0 1.5rem;padding:clamp(.8rem,3vw,1.4rem);border:1px solid var(--idc-border);border-radius:14px;background:var(--idc-surface);overflow-x:auto}.idc-chord-sheet{min-width:max-content;font-family:ui-monospace,SFMono-Regular,Consolas,"Liberation Mono",monospace;font-size:calc(.96rem + var(--idc-font-step));line-height:1.65}.idc-song-line{min-height:1.8em;white-space:pre}.idc-song-line--blank{height:.75em;min-height:.75em}.idc-song-line--text{padding-block:.08em}.idc-song-line--paired{display:flex;align-items:flex-end;width:max-content;min-height:3.25em;white-space:nowrap}.idc-song-line--chords-only{display:flex;align-items:center;gap:.65rem;width:max-content;min-height:2.1em;white-space:nowrap}.idc-chord-segment{display:inline-grid;grid-template-rows:1.38em 1.72em;grid-template-columns:max-content;align-items:end;min-width:max-content}.idc-song-line--chords-only .idc-chord-segment{display:inline-block}.idc-chord-slot{display:block;min-height:1.25em;line-height:1.25}.idc-lyric{display:block;white-space:pre;line-height:1.7}.idc-song-line--text .idc-lyric{display:inline}.idc-chord{appearance:none;display:inline;padding:0;border:0;background:none;color:var(--idc-green);font:inherit;font-weight:800;line-height:1.2;cursor:pointer;vertical-align:baseline}.idc-chord:hover{text-decoration:underline}
.idc-song-facts,.idc-used-chords,.idc-strumming,.idc-related,.idc-context-links,.idc-editorial,.idc-report{margin:1.25rem 0;padding:1rem;border:1px solid var(--idc-border);border-radius:14px}.idc-song h2{font-size:1.15rem;margin:0 0 .75rem}.idc-song-facts dl{display:grid;gap:.25rem;margin:0}.idc-song-facts dl>div{display:flex;justify-content:space-between;gap:1rem;padding:.45rem 0;border-bottom:1px solid var(--idc-border)}.idc-song-facts dl>div:last-child{border:0}.idc-song-facts dd{margin:0;font-weight:700;text-align:right}.idc-used-chords>div{display:flex;flex-wrap:wrap;gap:.5rem}.idc-chord-chip{min-width:2.8rem;padding:.45rem .65rem;border:1px solid var(--idc-border);border-radius:8px;background:var(--idc-green-soft);color:var(--idc-green);font-family:ui-monospace,monospace;font-weight:800}.idc-related ul{columns:1;margin:0;padding-left:1.25rem}.idc-related li{margin:.45rem 0}.idc-context-links{font-size:.92rem}.idc-report summary{cursor:pointer;font-weight:750}.idc-report form{display:grid;gap:.8rem;margin-top:1rem}.idc-report label{display:grid;gap:.3rem}.idc-report select,.idc-report textarea{width:100%;padding:.65rem;border:1px solid var(--idc-border);border-radius:8px;background:var(--idc-surface);color:inherit;font:inherit}.idc-report button{justify-self:start;padding:.6rem .9rem;border-radius:8px;background:var(--idc-green);color:#fff;font-weight:700}
.idc-diagram[hidden]{display:none}.idc-diagram{position:fixed;inset:0;z-index:99999;display:grid;place-items:center;padding:1rem;background:rgba(7,16,11,.58)}.idc-diagram>div{position:relative;width:min(360px,100%);padding:1.25rem;border-radius:16px;background:var(--idc-surface);box-shadow:0 20px 60px rgba(0,0,0,.25)}.idc-diagram [data-idc-diagram-close]{position:absolute;right:.75rem;top:.6rem;border:0;background:transparent;font-size:1.7rem;cursor:pointer}.idc-diagram-svg{display:block;width:220px;max-width:100%;margin:auto;stroke:currentColor;fill:var(--idc-green);stroke-width:2}.idc-diagram-svg text{fill:currentColor;stroke:none;font:15px system-ui}.idc-modal-open{overflow:hidden}
.idc-song button:focus-visible,.idc-song a:focus-visible,.idc-song summary:focus-visible,.idc-song select:focus-visible,.idc-song textarea:focus-visible{outline:3px solid color-mix(in srgb,var(--idc-green) 40%,transparent);outline-offset:2px}
@media(min-width:680px){.idc-related ul{columns:2}.idc-controls{overflow:visible}.idc-control-button{font-size:.9rem}}
@media(prefers-color-scheme:dark){:root{--idc-text:#ecf4ef;--idc-muted:#a9b8ae;--idc-border:#34443a;--idc-surface:#172019;--idc-green-soft:#1d3829}}
@media(prefers-reduced-motion:reduce){.idc-song *{scroll-behavior:auto!important}}

/* Song view switch: chord / lyrics. Query-string states remain on the same canonical song URL. */
.idc-song-view-switch{display:inline-flex;gap:4px;padding:4px;margin:0 0 14px;border:1px solid var(--idc-line,#dfe5e1);border-radius:999px;background:var(--idc-soft,#f4f7f5)}
.idc-song-view-switch button{border:0;border-radius:999px;background:transparent;padding:8px 14px;font:inherit;font-weight:700;color:inherit;cursor:pointer}
.idc-song-view-switch button[aria-pressed="true"]{background:var(--idc-surface,#fff);box-shadow:0 2px 8px rgba(0,0,0,.06)}
.idc-song.is-lyrics-view .idc-chord-slot,.idc-song.is-lyrics-view .idc-song-line--chords-only{display:none!important}
.idc-song.is-lyrics-view .idc-chord-segment{display:inline!important}
.idc-song.is-lyrics-view .idc-song-line--paired{display:block;min-height:1.85em}
.idc-song.is-lyrics-view .idc-lyric{display:inline;line-height:1.85}
.idc-song.is-lyrics-view .idc-used-chords{display:none}

/* Official listening links + inline chord diagrams (1.6.3) */
.idc-official-listen{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;align-items:center;margin:1.1rem 0 1.35rem;padding:1rem 1.05rem;border:1px solid var(--idc-border);border-radius:16px;background:var(--idc-green-soft)}
.idc-official-listen__kicker{display:block;margin-bottom:.2rem;color:var(--idc-green);font-size:.68rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.idc-official-listen h2{margin:0 0 .25rem}.idc-official-listen p{margin:0;color:var(--idc-muted);font-size:.88rem}.idc-official-listen__links{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.4rem}.idc-official-listen__links a{display:inline-flex;align-items:center;gap:.4rem;min-height:2.35rem;padding:0 .75rem;border:1px solid color-mix(in srgb,var(--idc-green) 22%,var(--idc-border));border-radius:999px;background:var(--idc-surface);color:var(--idc-text);font-size:.78rem;font-weight:750;text-decoration:none}.idc-official-listen__links a:hover{border-color:var(--idc-green);color:var(--idc-green)}
.idc-used-chords__heading p{margin:-.35rem 0 .85rem;color:var(--idc-muted);font-size:.82rem}.idc-used-chords-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(132px,1fr));gap:.65rem!important}.idc-used-chord-card{min-width:0;overflow:hidden;border:1px solid var(--idc-border);border-radius:14px;background:var(--idc-surface)}.idc-used-chord-card__button{appearance:none;width:100%;padding:.75rem .6rem .55rem;border:0;background:transparent;color:inherit;font:inherit;cursor:pointer}.idc-used-chord-card__name{display:block;margin-bottom:.2rem;color:var(--idc-green);font:850 1rem/1 ui-monospace,SFMono-Regular,Menlo,monospace}.idc-used-chord-card__diagram{display:grid;place-items:center;min-height:112px}.idc-used-chord-svg,.idc-used-chord-card .idc-learning-diagram-svg{width:112px;height:auto;max-width:100%;stroke:currentColor;fill:var(--idc-green);stroke-width:2}.idc-used-chord-svg text,.idc-used-chord-card .idc-learning-diagram-svg text{fill:currentColor;stroke:none;font:12px system-ui}.idc-used-chord-svg circle,.idc-used-chord-card .idc-learning-diagram-svg circle{fill:var(--idc-green);stroke:none}.idc-used-chord-card__hint{display:block;margin-top:.1rem;color:var(--idc-muted);font-size:.67rem}.idc-used-chord-card__learn{display:block;padding:.55rem .5rem;border-top:1px solid var(--idc-border);color:var(--idc-green);font-size:.72rem;font-weight:750;text-align:center;text-decoration:none}.idc-used-chord-card__missing{display:grid;place-items:center;min-height:88px;padding:.4rem;color:var(--idc-muted);font-size:.72rem;text-align:center}
@media(max-width:620px){.idc-official-listen{grid-template-columns:1fr;padding:.9rem}.idc-official-listen__links{justify-content:flex-start}.idc-used-chords-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.idc-used-chord-svg,.idc-used-chord-card .idc-learning-diagram-svg{width:104px}}


/* 1.6.4 — mobile play mode: no horizontal controls/lyrics scrolling. Desktop stays unchanged. */
@media(max-width:679px){
  .idc-controls{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.4rem;align-items:stretch;overflow:visible;padding:.45rem}
  .idc-controls>.idc-control{grid-column:1;grid-row:1;width:100%;min-width:0;grid-template-columns:minmax(72px,1fr) 2rem 1.8rem 2rem;padding-left:.55rem}
  .idc-controls>[data-idc-font]{grid-column:2;grid-row:1;min-width:46px;padding:.5rem .65rem}
  .idc-autoscroll-control{grid-column:1/-1;grid-row:2;display:grid;grid-template-columns:auto minmax(0,1fr);gap:.4rem;min-width:0;width:100%}
  .idc-autoscroll-control>.idc-control-button{white-space:nowrap}
  .idc-scroll-speed{display:grid;grid-template-columns:auto minmax(70px,1fr) auto;gap:.35rem;min-width:0;width:100%;white-space:nowrap}
  .idc-scroll-speed input{width:100%;min-width:0}

  .idc-chord-panel{overflow-x:hidden;padding:.8rem}
  .idc-chord-sheet{width:100%;min-width:0;font-size:calc(.9rem + var(--idc-font-step))}
  .idc-song-line{max-width:100%;white-space:normal}
  .idc-song-line--text{width:100%}
  .idc-song-line--text .idc-lyric{display:block;max-width:100%;white-space:pre-wrap;overflow-wrap:anywhere;word-break:normal}
  .idc-song-line--paired{display:flex;flex-wrap:wrap;align-items:flex-end;width:100%;max-width:100%;min-width:0;white-space:normal;row-gap:.16em}
  .idc-song-line--paired .idc-chord-segment{flex:0 1 auto;min-width:0;max-width:100%;grid-template-columns:minmax(0,auto)}
  .idc-song-line--paired .idc-lyric{max-width:100%;white-space:pre-wrap;overflow-wrap:anywhere;word-break:normal}
  .idc-song-line--chords-only{display:flex;flex-wrap:wrap;width:100%;max-width:100%;white-space:normal;row-gap:.25rem}
  .idc-song-line--chords-only .idc-chord-segment{min-width:0;max-width:100%}
  .idc-song.is-lyrics-view .idc-song-line--paired{width:100%;max-width:100%}
  .idc-song.is-lyrics-view .idc-chord-segment{white-space:normal}
  .idc-song.is-lyrics-view .idc-lyric{white-space:pre-wrap;overflow-wrap:anywhere;word-break:normal}
}


/* 1.6.7 — Mobile responsive hardening for song UI */
@media(max-width:679px){
  .idc-song{width:100%;max-width:100%;min-width:0;overflow:visible}
  .idc-song-header,.idc-song-facts,.idc-used-chords,.idc-strumming,.idc-related,.idc-context-links,.idc-editorial,.idc-report{min-width:0;max-width:100%}
  .idc-song-header h1{overflow-wrap:anywhere}
  .idc-breadcrumb{max-width:100%;min-width:0}
  .idc-controls{top:68px!important;width:100%;max-width:100%;min-width:0;margin-inline:0;box-sizing:border-box}
  .idc-controls>.idc-control{grid-template-columns:minmax(64px,1fr) 1.9rem 1.7rem 1.9rem!important;font-size:.72rem}
  .idc-control button{min-width:34px;height:36px!important;touch-action:manipulation}
  .idc-control-button{min-height:40px;touch-action:manipulation}
  .idc-autoscroll-control{min-width:0}
  .idc-scroll-speed{grid-template-columns:minmax(0,1fr) auto!important;padding-inline:.45rem!important}
  .idc-scroll-speed span{display:none}
  .idc-scroll-speed input{min-width:0!important;width:100%!important}
  .idc-scroll-speed output{min-width:2.2rem!important;font-size:.7rem}
  .idc-tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px!important;width:100%}
  .idc-tabs button{min-width:0;min-height:42px;padding:.55rem .65rem!important}
  .idc-song-view-switch{display:grid;grid-template-columns:1fr 1fr;width:100%;max-width:260px}
  .idc-song-view-switch button{min-width:0;min-height:40px}
  .idc-chord-panel{width:100%;max-width:100%;min-width:0;margin-inline:0!important;padding-inline:.35rem!important}
  .idc-chord-sheet{max-width:100%;overflow:visible;font-size:calc(.88rem + var(--idc-font-step))!important;line-height:1.9!important}
  .idc-song-line--paired{align-items:flex-end;column-gap:0}
  .idc-chord-segment{max-width:100%}
  .idc-chord-slot{max-width:100%;overflow-wrap:anywhere}
  .idc-lyric{max-width:100%;overflow-wrap:anywhere;word-break:normal}
  .idc-chord{min-height:28px;padding-inline:1px!important;touch-action:manipulation}
  .idc-song-facts{padding:18px!important}
  .idc-song-facts dl>div{display:grid;grid-template-columns:minmax(90px,40%) minmax(0,1fr);align-items:start;gap:.75rem}
  .idc-song-facts dt,.idc-song-facts dd{min-width:0;overflow-wrap:anywhere}
  .idc-song-facts dd{text-align:right}
  .idc-official-listen{min-width:0;margin-inline:0!important;padding:16px!important}
  .idc-official-listen__links{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px!important;width:100%}
  .idc-official-listen__links a{min-width:0;justify-content:center;text-align:center;white-space:normal;line-height:1.2}
  .idc-used-chords__heading{display:block!important}
  .idc-used-chords__heading p{margin-top:.15rem!important}
  .idc-used-chords-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
  .idc-used-chord-card{min-width:0}
  .idc-used-chord-card__button{min-height:44px}
  .idc-used-chord-svg,.idc-used-chord-card .idc-learning-diagram-svg{width:min(100%,104px)!important}
  .idc-related ul{padding-left:1.05rem}
  .idc-context-links{overflow-wrap:anywhere}
  .idc-report{padding:16px!important}
  .idc-report select,.idc-report textarea{min-width:0;max-width:100%;font-size:16px}
  .idc-report button{min-height:42px}
  .idc-diagram{padding:max(10px,env(safe-area-inset-top)) 10px max(10px,env(safe-area-inset-bottom))}
  .idc-diagram>div{width:min(340px,100%);max-height:calc(100dvh - 24px);overflow-y:auto;padding:1rem}
  .idc-diagram-svg{width:min(210px,72vw)}
}
@media(max-width:360px){
  .idc-controls{padding:.38rem!important}
  .idc-controls>.idc-control{grid-template-columns:minmax(58px,1fr) 1.75rem 1.55rem 1.75rem!important;padding-left:.42rem!important}
  .idc-controls>[data-idc-font]{min-width:40px!important;padding-inline:.45rem!important}
  .idc-autoscroll-control{grid-template-columns:88px minmax(0,1fr)!important}
  .idc-autoscroll-control>.idc-control-button{padding-inline:.5rem!important;font-size:.72rem!important}
  .idc-official-listen__links{grid-template-columns:1fr!important}
  .idc-used-chords-grid{grid-template-columns:1fr 1fr!important}
}
