.gl-tool,.gl-tools-hub{font-family:'Hanken Grotesque',sans-serif;}
.gl-tool-loading{padding:40px;text-align:center;color:var(--ink-3);font-family:'Hanken Grotesque',sans-serif;}
.gl-tool{max-width:680px;margin:0 auto;}
.gl-tw{background:linear-gradient(180deg,var(--surface),var(--surface));border:1px solid var(--line-2);border-radius:20px;box-shadow:0 24px 60px -34px rgba(20,40,30,.5);overflow:hidden;}
.gl-tw-head{padding:18px 22px;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:8px;}
.gl-tw-lbl{font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-3);}
.gl-row{display:flex;flex-wrap:wrap;gap:6px;}
.gl-tbtn{padding:8px 13px;border-radius:999px;font-size:13px;font-weight:600;border:1px solid var(--line-2);background:var(--paper);color:var(--ink-2);cursor:pointer;font-family:'Hanken Grotesque',sans-serif;transition:all .12s;}
.gl-tbtn.on{color:#fff;background:var(--amber);border-color:var(--amber);box-shadow:0 5px 12px -7px rgba(31,90,67,.8);}
.gl-tool h2.gl-tool-title{font-family:'Spectral',serif;font-size:26px;font-weight:700;letter-spacing:-.01em;color:var(--ink);margin:0;}
.gl-tool-top{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin:0 4px 16px;flex-wrap:wrap;}
.gl-tool-sub{font-size:12px;color:var(--ink-3);}
.gl-select,.gl-tool select{height:44px;border:1px solid var(--line-2);border-radius:11px;background:var(--paper);padding:0 14px;font-family:'Spectral',serif;font-size:15px;color:var(--ink);outline:none;}
/* tuner */
.gl-tuner-display{background:linear-gradient(180deg,#241712,#1A0F0A);padding:26px 22px 22px;display:flex;flex-direction:column;align-items:center;gap:6px;}
.gl-tuner-meta{display:flex;align-items:baseline;gap:14px;margin-top:-8px;color:#9A876D;font-size:13px;font-variant-numeric:tabular-nums;}
.gl-tuner-strings{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;padding:18px 22px 6px;}
.gl-strbtn{display:flex;flex-direction:column;align-items:center;gap:1px;padding:12px 0;border-radius:12px;border:1px solid var(--line-2);background:var(--paper);color:var(--ink-2);cursor:pointer;transition:all .15s;}
.gl-strbtn.on{color:#2A1A10;background:linear-gradient(180deg,#E7B266,#D6963F);border-color:transparent;box-shadow:0 8px 18px -10px rgba(214,150,63,.9);}
.gl-strbtn .n{font-family:'Spectral',serif;font-size:19px;font-weight:600;}
.gl-strbtn .s{font-size:9px;opacity:.6;letter-spacing:.06em;}
.gl-tuner-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:6px 22px 20px;}
.gl-mic-btn{padding:10px 18px;border-radius:12px;font-size:13px;font-weight:700;border:none;cursor:pointer;color:#fff;background:var(--amber);box-shadow:0 8px 18px -10px rgba(31,90,67,.8);font-family:'Hanken Grotesque',sans-serif;}
.gl-mic-btn.on{color:var(--amber);background:var(--surface);border:1px solid var(--line-2);}
.gl-tuner-hint{font-size:11px;color:var(--ink-3);max-width:340px;text-align:right;}
/* metronome */
.gl-metro{padding:26px 22px;display:flex;flex-direction:column;align-items:center;gap:18px;}
.gl-metro-bpm{font-family:'Spectral',serif;font-weight:800;font-size:72px;line-height:1;color:var(--ink);}
.gl-metro-bpm small{font-size:16px;color:var(--ink-3);font-weight:600;}
.gl-metro-dots{display:flex;gap:10px;}
.gl-metro-dot{width:14px;height:14px;border-radius:50%;background:var(--surface-2);border:1px solid var(--line-2);transition:all .08s;}
.gl-metro-dot.beat{background:var(--amber);transform:scale(1.3);}
.gl-metro-dot.one.beat{background:var(--amber-2);}
.gl-metro-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:center;}
.gl-range{width:220px;accent-color:var(--amber);}
.gl-big-btn{height:52px;padding:0 30px;border:none;border-radius:13px;background:var(--espresso);color:var(--cream-on-dark);font-family:'Hanken Grotesque',sans-serif;font-weight:700;font-size:15px;cursor:pointer;}
.gl-big-btn.alt{background:var(--amber);color:#fff;}
.gl-ghost-btn{height:44px;padding:0 18px;border:1px solid var(--line-2);border-radius:11px;background:var(--paper);color:var(--ink);font-family:'Hanken Grotesque',sans-serif;font-weight:700;font-size:14px;cursor:pointer;}
/* chord/scale */
.gl-tool-body{padding:22px;}
.gl-pickrow{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:18px;}
.gl-diagram-stage{display:flex;flex-direction:column;align-items:center;gap:12px;padding:10px 0 6px;}
.gl-diagram-stage .gl-fret,.gl-diagram-stage .gl-piano{transform:scale(1.5);transform-origin:top center;margin:10px auto 26px;}
.gl-chord-title{font-family:'Spectral',serif;font-weight:700;font-size:24px;color:var(--ink);text-align:center;}
.gl-chord-notes{font-family:'JetBrains Mono',monospace;font-size:13px;color:var(--ink-2);text-align:center;}
.gl-play-btn{display:inline-flex;align-items:center;gap:8px;height:46px;padding:0 22px;border:none;border-radius:12px;background:var(--amber);color:#fff;font-family:'Hanken Grotesque',sans-serif;font-weight:700;font-size:14px;cursor:pointer;}
.gl-chip-grid{display:flex;flex-wrap:wrap;gap:7px;}
.gl-libcard{border:1px solid var(--line);border-radius:12px;background:var(--paper);padding:10px 6px 8px;text-align:center;cursor:pointer;transition:all .15s;}
.gl-libcard:hover{border-color:var(--amber);transform:translateY(-2px);}
.gl-libcard .nm{font-family:'JetBrains Mono',monospace;font-weight:700;font-size:13px;color:var(--amber-2);margin-bottom:4px;}
.gl-lib-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:10px;margin-top:16px;}
.gl-fretboard{width:100%;overflow-x:auto;}
/* vocal remover */
.gl-drop{border:2px dashed var(--line-2);border-radius:14px;padding:34px;text-align:center;color:var(--ink-2);cursor:pointer;background:var(--paper);}
.gl-drop.drag{border-color:var(--amber);background:var(--amber-soft);}
.gl-vr-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:16px;}
.gl-vr-status{font-size:13px;color:var(--ink-2);margin-top:12px;}
/* hub */
.gl-tools-hub{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;max-width:980px;margin:0 auto;}
.gl-tool-card{text-decoration:none;display:flex;flex-direction:column;gap:6px;border:1px solid var(--line);border-radius:16px;background:var(--surface);padding:22px;}
.gl-tool-card .gl-tool-ic{width:44px;height:44px;border-radius:12px;background:var(--amber-soft);border:1px solid var(--line-2);margin-bottom:6px;}
.gl-tool-card .nm{font-family:'Spectral',serif;font-weight:700;font-size:19px;color:var(--ink);}
.gl-tool-card .ds{font-family:'Hanken Grotesque',sans-serif;font-size:13px;color:var(--ink-2);}
@media (max-width:760px){.gl-tools-hub{grid-template-columns:1fr;}.gl-tuner-strings{grid-template-columns:repeat(3,1fr);}.gl-metro-bpm{font-size:56px;}}
