.vdvl-guitar{--bg:#f6f8fb;--card:#ffffff;--muted:#5b6a7a;--accent:#0ea5e9;--accent2:#22c55e;--warn:#ef4444;--string:#263341;color:#0b1522;font-family:ui-sans-serif,system-ui,Segoe UI,Roboto,Helvetica,Arial}
.vdvl-guitar .wrap{max-width:1100px;margin:24px auto;padding:16px}
.vdvl-guitar .title{display:flex;align-items:center;gap:12px;margin-bottom:16px}
.vdvl-guitar .title h1{font-size:20px;margin:0}
.vdvl-guitar .panel{background:var(--card);border:1px solid #e6edf5;border-radius:14px;padding:12px 14px;display:flex;flex-wrap:wrap;gap:12px;align-items:center;box-shadow:0 4px 14px rgba(10,30,60,.05)}
.vdvl-guitar select,.vdvl-guitar button,.vdvl-guitar input[type="number"],.vdvl-guitar .toggle{background:#f2f6fb;border:1px solid #d7e1ec;color:#0b1522;border-radius:10px;padding:10px 12px;font-size:14px}
.vdvl-guitar button{cursor:pointer}
.vdvl-guitar .btn-primary{background:#e6f6ff;border-color:#bfe7ff}
.vdvl-guitar .btn-primary:hover{filter:brightness(0.98)}
.vdvl-guitar .hint{color:var(--muted);font-size:13px}

.vdvl-guitar .neck{position:relative;margin-top:16px;background:#d7ab6b;border:1px solid #c39454;border-radius:14px;padding:16px;overflow:hidden;box-shadow:inset 0 0 0 1px rgba(0,0,0,.08), inset 0 10px 40px rgba(0,0,0,.12)}
.vdvl-guitar .frets{position:absolute;inset:16px;pointer-events:none}
.vdvl-guitar .fret{position:absolute;top:0;bottom:0;width:2px;background:rgba(0,0,0,.18)}
.vdvl-guitar .inlay{position:absolute;width:10px;height:10px;border-radius:50%;background:rgba(0,0,0,.25)}

.vdvl-guitar .strings{position:relative;z-index:2}
.vdvl-guitar .string{position:relative;height:44px;display:flex;align-items:center}
.vdvl-guitar .wire{height:2px;width:100%;background:linear-gradient(90deg,#50647a,#2f3f52,#50647a);border-radius:2px;box-shadow:0 0 0 1px rgba(0,0,0,.06)}
.vdvl-guitar .wire.thick{height:3px}
.vdvl-guitar .string .label{position:absolute;left:6px;font-size:12px;color:#112034}
.vdvl-guitar .hot{position:absolute;inset:0}
.vdvl-guitar .string.active .wire{filter:brightness(1.6);box-shadow:0 0 12px 2px rgba(14,165,233,.35)}
.vdvl-guitar .muted .wire{opacity:.35;filter:grayscale(1)}

.vdvl-guitar .marker{position:absolute;width:18px;height:18px;border-radius:50%;background:var(--accent);border:2px solid #fff;box-shadow:0 4px 10px rgba(0,0,0,.2);transform:translate(-50%,-50%);z-index:3}
.vdvl-guitar .marker.open{background:var(--accent2);border-color:#e8ffe8}
.vdvl-guitar .marker.mute{background:#fff;border-color:#333;box-shadow:none}
.vdvl-guitar .x-sign{position:absolute;transform:translate(-50%,-50%);font-weight:700;color:#111}

.vdvl-guitar .chord-diagram{margin-top:14px;display:flex;gap:16px;flex-wrap:wrap}
.vdvl-guitar .mini{width:120px;background:var(--card);border:1px solid #e6edf5;border-radius:12px;padding:10px;text-align:center;box-shadow:0 6px 16px rgba(10,30,60,.06)}
.vdvl-guitar .mini h4{margin:0 0 6px 0;font-weight:700}
.vdvl-guitar .grid{display:grid;grid-template-rows:repeat(5,1fr);grid-template-columns:repeat(6,1fr);gap:2px;background:#f1f7ff;padding:6px;border-radius:8px}
.vdvl-guitar .grid div{height:16px;background:#e3edf7;border-radius:3px;position:relative}
.vdvl-guitar .grid .mark{position:absolute;inset:2px;border-radius:50%;background:var(--accent)}
.vdvl-guitar .mini .row{display:flex;justify-content:space-between;font-size:11px;color:#425468;margin-top:4px}
.vdvl-guitar .legend{color:#425468;font-size:12px}
.vdvl-guitar .footer{margin-top:16px;color:#425468;font-size:12px}

/* Focus Mode (fallback) */
.vdvl-guitar.focus .wrap{position:fixed;inset:0;background:var(--bg);padding:10px;overflow:auto;z-index:9999}
.vdvl-guitar .focus-banner{position:fixed;right:10px;bottom:10px;background:#ffffffcc;border:1px solid #e6edf5;border-radius:8px;padding:6px 10px;color:#425468;font-size:12px}
.vdvl-guitar .toast{position:fixed;top:12px;left:50%;transform:translateX(-50%);padding:8px 12px;background:#0ea5e9;color:#fff;border-radius:8px;box-shadow:0 6px 18px rgba(10,30,60,.2);opacity:0;transition:opacity .25s ease}
.vdvl-guitar .toast.show{opacity:1}
