/* Circle of fifths page. */
.kk{display:grid;grid-template-columns:minmax(280px,400px) minmax(0,1fr);gap:26px;align-items:start}
@media (max-width:820px){.kk{grid-template-columns:1fr}}
#cof svg{width:100%;max-width:400px;height:auto;display:block;margin:0 auto}
#cof g[data-r]{cursor:pointer}#cof g[data-r]:hover path:first-child{stroke:var(--link)}
#cof g[data-r]:focus-visible{outline:none}#cof g[data-r]:focus-visible path{stroke:var(--link);stroke-width:3}
.card h2{font:600 22px/1.2 Unbounded,sans-serif;margin:0 0 10px}
.kv{display:grid;gap:8px;margin:0 0 14px}.kv div{display:grid;grid-template-columns:150px 1fr;gap:10px;align-items:baseline}
.kv dt{font-weight:700;color:var(--mute);font-size:14px}.kv dd{margin:0}
@media (max-width:520px){.kv div{grid-template-columns:1fr;gap:0}}
.lnk{background:none;border:0;padding:0;color:var(--link);font-weight:700;text-decoration:underline;cursor:pointer;font-size:inherit}
.kl{font-weight:700;color:var(--mute);font-size:14px;margin:14px 0 6px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.seg.sm button{padding:2px 8px;font-size:13px}
.notes{display:flex;flex-wrap:wrap;gap:8px}
.nt{border:2px solid var(--edge);border-radius:7px;background:var(--card);min-width:48px;padding:4px 8px;text-align:center;transition:background .3s,transform .3s}
.nt b{display:block;font:600 17px/1.2 Unbounded,sans-serif}.nt i{font-style:normal;font-size:11.5px;color:var(--mute)}
.nt.acc b{color:var(--root)}.nt.mark{background:var(--acc);transform:translateY(-3px)}.nt.mark b,.nt.mark i{color:var(--accink)}
.dcs{display:flex;flex-wrap:wrap;gap:10px}
.dc{border:2px solid var(--edge);background:var(--card);border-radius:7px;box-shadow:0 4px 0 var(--edge);cursor:pointer;text-align:center;padding:6px 10px;min-width:64px;transition:transform .08s,box-shadow .08s}
.dc:hover{border-color:var(--link)}.dc:active{transform:translateY(3px);box-shadow:0 1px 0 var(--edge)}
.dc.on{background:var(--acc);transform:translateY(2px);box-shadow:0 2px 0 var(--edge)}.dc.on b,.dc.on span{color:var(--accink)}
.dc b{display:block;font:600 16px/1.15 Unbounded,sans-serif}.dc span{font-size:12.5px;color:var(--mute)}
.pl{margin-top:16px;gap:10px}
/* guide */
.tour{margin-top:12px}
.tourb{margin:0 auto 4px;display:block;background:var(--acc);color:var(--accink);border:2px solid var(--edge);border-radius:7px;padding:7px 16px;font-weight:700;cursor:pointer;box-shadow:0 3px 0 var(--edge)}
.tourb:active{transform:translateY(3px);box-shadow:none}.tour>.hint{text-align:center;margin:4px 0 0}
.tour .th{display:flex;align-items:center;gap:12px}.tour .th b{font:600 15px/1.25 Unbounded,sans-serif;flex:1}
.tdots{display:flex;gap:6px}.tdots i{width:9px;height:9px;border-radius:50%;background:var(--line);border:1.5px solid var(--edge)}.tdots i.on{background:var(--acc)}
.tx{border:2px solid var(--edge);background:var(--card);border-radius:7px;width:32px;height:32px;cursor:pointer;box-shadow:0 2px 0 var(--edge);flex:0 0 auto}
.tt{margin:8px 0 4px;font-size:14.5px}.tinfo{margin:0 0 8px;font-size:14.5px;min-height:1.4em}
#tExtra{margin-bottom:8px;display:flex;flex-wrap:wrap;gap:8px;align-items:center}#tExtra:empty{display:none}
.big{font:600 14px Unbounded,sans-serif}
.tc{display:flex;gap:8px;flex-wrap:wrap}.tc button{border:2px solid var(--edge);background:var(--card);border-radius:7px;padding:5px 12px;cursor:pointer;font-weight:600;box-shadow:0 3px 0 var(--edge)}
.tc button:hover{border-color:var(--link)}.tc .nx{background:var(--acc);color:var(--accink)}.tc button:disabled{opacity:.4;cursor:default}
/* explanation */
.expl{max-width:860px}.expl .lead{font-size:16.5px}.expl h3{font-size:16px;margin:18px 0 4px}.expl p,.expl li{font-size:15.5px;line-height:1.55}.expl ul{padding-left:22px}
.tw{overflow-x:auto}
.tb{width:100%;border-collapse:collapse;font-size:14.5px}.tb td,.tb th{border-bottom:1px solid var(--line);padding:5px 8px;text-align:left}
.tb tr.cur td{background:rgba(224,173,47,.22)}
