/* finesse · register=product · scope=music-tools · bright surface · native dialog / CSS feedback */
.ut-section{padding-block:40px 48px}
.ut-tool-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:30px}
.ut-tool-card{display:flex;align-items:center;gap:14px;position:relative;min-height:120px;min-width:0;padding:24px 20px;border:1px solid #796c5514;border-radius:12px;background:#fffefb;color:var(--ink);text-align:left;font-family:var(--body);cursor:pointer;transition:transform .18s,border-color .18s,background .18s}
.ut-card-icon{color:var(--red);display:block;flex:none;width:26px;height:26px}
.ut-card-icon svg,.ut-dialog-name>span svg{display:block;width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.ut-card-copy{min-width:0;padding-right:10px}
.ut-card-copy strong{display:block;font-size:16px;font-weight:500;line-height:1.5;white-space:nowrap}
.ut-card-copy small{display:block;font-size:11px;font-weight:400;color:var(--yc-muted);line-height:1.6;margin-top:6px}
.ut-card-arrow{font-size:17px;position:absolute;right:14px;top:14px;color:var(--yc-muted);font-weight:400}
.ut-tool-card:active{transform:scale(.985)}
.ut-tool-card:focus-visible,.ut-close:focus-visible{outline:2px solid var(--red);outline-offset:4px}
.ut-dialog{width:min(1180px,calc(100vw - 64px));max-width:none;max-height:calc(100dvh - 64px);padding:0;border:1px solid #796c5524;border-radius:18px;background:#fdfdfc;color:var(--ink);box-shadow:0 24px 100px #372a1226;overflow:hidden}
.ut-dialog::backdrop{background:#1c18134f;animation:ut-backdrop-in .22s ease both}
.ut-dialog[open]{animation:ut-open .24s cubic-bezier(.2,.7,.2,1) both}
.ut-dialog-surface{display:flex;flex-direction:column;max-height:calc(100dvh - 66px);min-height:0}
.ut-dialog-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 20px;border-bottom:1px solid #796c551a;flex:none;background:#fdfdfc}
.ut-dialog-name{display:flex;align-items:center;gap:12px;min-width:0}
.ut-dialog-name>span{height:23px;width:23px;flex:none;color:var(--red)}
.ut-dialog-name h2{font:500 18px/1.5 var(--body);margin:0}
.ut-close{display:grid;place-items:center;flex:none;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--ink);cursor:pointer}
.ut-close svg{width:22px;height:22px;stroke:currentColor;stroke-width:1.6;fill:none;stroke-linecap:round}
.ut-dialog-body{overflow-y:auto;overscroll-behavior:contain;min-height:0;padding:24px;scrollbar-gutter:stable}
.ut-panel{min-width:0;animation:ut-content-in .2s ease both}
.ut-panel[hidden]{display:none}
#ut-chord-frame{display:block;width:100%;height:700px;min-height:350px;border:0;background:#fdfdfc}
@keyframes ut-open{from{opacity:0;transform:translateY(20px) scale(.98)}to{opacity:1;transform:none}}
@keyframes ut-backdrop-in{from{opacity:0}to{opacity:1}}
@keyframes ut-content-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(hover:hover) and (pointer:fine){.ut-tool-card:hover{border-color:#f5350c55;background:#f5350c03;transform:translateY(-3px)}.ut-close:hover{background:#796c550c}}
@media(max-width:1000px){.ut-tool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ut-tool-card{min-height:105px}}
@media(max-width:600px){.ut-section{padding-block:32px 36px}.ut-tool-grid{gap:10px;margin-top:24px}.ut-tool-card{padding:18px 14px;min-height:112px;align-items:flex-start;gap:12px;flex-direction:column}.ut-card-icon{width:24px;height:24px}.ut-card-copy{padding:0}.ut-card-copy strong{font-size:15px}.ut-card-copy small{font-size:10px;margin-top:4px}.ut-card-arrow{font-size:15px;right:12px;top:15px}.ut-dialog{width:calc(100vw - 12px);max-height:calc(100dvh - 12px);margin:auto auto 0;border-radius:18px 18px 0 0;border-bottom:0}.ut-dialog[open]{animation-name:ut-mobile-open}.ut-dialog-surface{max-height:calc(100dvh - 14px)}.ut-dialog-header{padding:9px 12px}.ut-dialog-name{gap:9px}.ut-dialog-name h2{font-size:16px}.ut-dialog-name>span{height:21px;width:21px}.ut-dialog-body{padding:16px 14px 24px;padding-bottom:calc(24px + env(safe-area-inset-bottom));scrollbar-gutter:auto}#ut-chord-frame{height:770px}.ut-close{width:44px;height:44px}}
@keyframes ut-mobile-open{from{opacity:0;transform:translateY(64px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.ut-dialog[open],.ut-dialog::backdrop,.ut-panel{animation:none}.ut-tool-card{transition:none}.ut-tool-card:hover{transform:none}}
