﻿/* SVG Audio Visualizer */
.audio-visual-wrap {
    position: relative;
    width: min(100%, 980px);
    height: 200px;
    margin: 0 auto 18px;
    display: grid;
    grid-template-rows: 1fr auto;
    color: #17324b;
    border: 1px solid #b8cee0;
    border-radius: 16px;
    background:
        radial-gradient(circle at 10% 10%, rgba(31, 181, 214, 0.18), transparent 45%),
        linear-gradient(165deg, rgba(255, 255, 255, 0.98), rgba(240, 249, 255, 0.88));
    box-shadow: 0 12px 30px rgba(8, 35, 64, 0.12);
    overflow: hidden;
    transition: border-color 0.25s ease, box-shadow 0.25s ease, transform 0.2s ease;
}

.audio-visual-wrap:hover {
    border-color: #86b3d2;
    box-shadow: 0 18px 36px rgba(8, 35, 64, 0.16);
    transform: translateY(-1px);
}

.svg-audio {
    width: 100%;
    height: 100%;
    display: block;
}

.svg-audio-toolbar {
    display: flex;
    gap: 8px;
    justify-content: flex-end;
    padding: 8px 10px;
    border-top: 1px solid rgba(184, 206, 224, 0.72);
    background: rgba(255, 255, 255, 0.86);
}

.svg-audio-toolbar button {
    border: 1px solid #b7cee0;
    background: #fff;
    color: #1f3953;
    border-radius: 8px;
    padding: 7px 11px;
    font: 600 12px/1 "Plus Jakarta Sans", "Segoe UI", sans-serif;
    cursor: pointer;
}

.svg-audio-toolbar button:hover {
    background: #ebf7ff;
    border-color: #8fb5d1;
}

.svg-grid line {
    shape-rendering: crispEdges;
}

.cursor-line {
    pointer-events: none;
}

audio {
    display: block;
    margin: 16px auto;
    width: min(84%, 620px);
    border-radius: 12px;
    background: linear-gradient(140deg, #ffffff, #eef6fd);
    box-shadow: 0 8px 18px rgba(8, 35, 64, 0.12);
    padding: 6px;
    transition: box-shadow 0.3s ease, transform 0.2s ease;
}

audio:hover {
    transform: translateY(-1px);
    box-shadow: 0 12px 24px rgba(8, 35, 64, 0.16);
}

html[data-theme="dark"] .audio-visual-wrap {
    color: #eaf2ff;
    border-color: rgba(92, 133, 196, 0.58);
    background:
        radial-gradient(circle at 12% 12%, rgba(76, 139, 235, 0.2), transparent 42%),
        linear-gradient(165deg, rgba(12, 33, 63, 0.98), rgba(8, 25, 49, 0.92));
    box-shadow: 0 18px 38px rgba(0, 0, 0, 0.32);
}

html[data-theme="dark"] .audio-visual-wrap:hover {
    border-color: rgba(126, 174, 242, 0.68);
    box-shadow: 0 22px 44px rgba(0, 0, 0, 0.38);
}

html[data-theme="dark"] .svg-audio-toolbar {
    border-top-color: rgba(92, 133, 196, 0.38);
    background: rgba(7, 24, 47, 0.86);
}

html[data-theme="dark"] .svg-audio-toolbar button {
    border-color: rgba(95, 143, 216, 0.54);
    background: rgba(15, 42, 78, 0.96);
    color: #dceaff;
}

html[data-theme="dark"] .svg-audio-toolbar button:hover {
    border-color: rgba(126, 174, 242, 0.7);
    background: rgba(29, 69, 121, 0.98);
    color: #ffffff;
}

html[data-theme="dark"] audio {
    background: linear-gradient(140deg, #07182f, #0f2b50);
    box-shadow: 0 12px 26px rgba(0, 0, 0, 0.34);
}
