
/* Shared custom player, isolated from native browser audio controls. */
.voice-card .voice-player{display:grid;grid-template-columns:36px minmax(40px,1fr) auto;gap:12px;align-items:center;padding:12px 0;border-top:1px solid #b8a16b26;border-bottom:1px solid #b8a16b26;margin-top:auto}
.voice-card .voice-player .voice-play{display:grid;place-items:center;width:36px;height:36px;min-height:36px;padding:0;border-radius:50%;border:1px solid #c4aa70;background:linear-gradient(145deg,#514831,#272d21);color:#eddaaa;box-shadow:0 2px 8px #0003}
.voice-card svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex:none}.voice-play svg{width:19px;height:19px}
.voice-card .voice-player input.voice-seek{appearance:none;-webkit-appearance:none;display:block;width:100%;min-width:0;height:4px;padding:0;margin:0;border:0;border-radius:2px;background:linear-gradient(to right,#d2b776 var(--progress,0%),#465040 var(--progress,0%));cursor:pointer;flex:none}
.voice-seek::-webkit-slider-thumb{appearance:none;width:10px;height:10px;border-radius:50%;background:#e4ca8c;border:1px solid #ebd7a5;box-shadow:0 0 0 3px #b69c5920}.voice-seek::-moz-range-thumb{width:10px;height:10px;border-radius:50%;background:#e4ca8c;border:1px solid #ebd7a5}.voice-seek:disabled{opacity:.5;cursor:default}
.voice-time{white-space:nowrap;font:11px/1.3 system-ui,sans-serif;font-variant-numeric:tabular-nums;color:#b5b9a5}.voice-player-message{grid-column:1/-1;color:#cbb376;font-size:11px;line-height:1.4}.voice-player-message:empty{display:none}
.voice-card .votes button{display:inline-flex;align-items:center;justify-content:center;gap:8px}.voice-card .votes{display:flex;gap:8px}
#review-list{align-items:stretch}#voice-reviews article.voice-card{display:flex;flex-direction:column;padding:18px 18px 14px;border:1px solid #a58b513f;border-radius:4px;background:linear-gradient(145deg,#1b261ceb,#101911f5);box-shadow:inset 0 1px #dfc6810a}
#voice-reviews .voice-card h2{font-size:19px;line-height:1.3;min-height:25px}#voice-reviews .voice-card .phrase{min-height:40px;max-height:80px;line-height:1.55;margin:9px 0 16px;color:#bac3b4}#voice-reviews .voice-card .votes{margin-top:12px;display:grid;grid-template-columns:1fr 1fr}#voice-reviews .voice-card .votes button{font-size:12px;min-height:35px;padding:7px 8px;border-color:#ac94554d;background:#22312280;color:#cfc7a8}#voice-reviews .voice-card .votes button:hover{border-color:#cbb376;background:#34452a}#voice-reviews .voice-card .votes button[aria-pressed=true]{background:#a18b53;color:#101711;border-color:#d2b979}#voice-reviews .voice-card .votes button:nth-child(3){grid-column:1/-1;justify-self:center;background:transparent;border:0;min-height:26px;font-size:11px;padding:2px 10px;color:#a4ae9b}
@media(max-width:400px){#voice-reviews article.voice-card{padding:14px 12px}.voice-card .voice-player{gap:8px}.voice-card .votes button{gap:5px}#voice-reviews .voice-card .votes button{font-size:11px}}

/* Override shared form/button styles inside the audio player. */
:is(#voice-reviews,#list) .voice-card .voice-player .voice-play{display:flex;align-items:center;justify-content:center;flex:none;width:36px;height:36px;min-width:36px;min-height:36px;max-width:36px;max-height:36px;margin:0;padding:0;border:1px solid #c4aa70;border-radius:50%;background:linear-gradient(145deg,#514831,#272d21);color:#eddaaa;line-height:1;box-sizing:border-box;box-shadow:0 2px 8px #0003;transform:none}
:is(#voice-reviews,#list) .voice-card .voice-play svg{display:block;position:static;width:18px;height:18px;margin:0;padding:0;flex:none;transform:none}
:is(#voice-reviews,#list) .voice-card .voice-play[aria-pressed=false] svg,:is(#voice-reviews,#list) .voice-card .voice-play:not([aria-pressed]) svg{transform:translateX(1px)}
:is(#voice-reviews,#list) .voice-card .voice-player input.voice-seek{appearance:none;-webkit-appearance:none;display:block;width:100%;height:4px;min-height:4px;min-width:0;max-height:4px;margin:0;padding:0;border:0;border-radius:2px;box-shadow:none;background:linear-gradient(to right,#d2b776 var(--progress,0%),#465040 var(--progress,0%))}

/* Compact playback without a seek track. */
:is(#voice-reviews,#list) .voice-card .voice-player{grid-template-columns:30px auto;justify-content:start;gap:9px;padding:8px 0}
:is(#voice-reviews,#list) .voice-card .voice-player .voice-play{width:30px;height:30px;min-width:30px;min-height:30px;max-width:30px;max-height:30px}
:is(#voice-reviews,#list) .voice-card .voice-play svg{width:15px;height:15px}
#voice-reviews .voice-card .votes{margin-top:8px}

/* Only playback and voting actions beneath the phrase. */
#voice-reviews article.voice-card{display:grid;grid-template-columns:30px minmax(0,1fr);column-gap:12px;align-content:start}
#voice-reviews .voice-card>h2,#voice-reviews .voice-card>.phrase,#voice-reviews .voice-card>.details,#voice-reviews .voice-card>.cardStatus{grid-column:1/-1}
#voice-reviews .voice-card .voice-player{grid-column:1;display:flex;flex-wrap:wrap;margin:0;padding:0;border:0;align-self:start}
#voice-reviews .voice-card .votes{grid-column:2;margin:0;align-self:start}
#voice-reviews .voice-card .voice-player-message{min-width:110px}

:is(#voice-reviews,main) .review-jump{display:flex;align-items:center;justify-content:center;gap:8px;margin:12px 0 0;font-size:12px}
:is(#voice-reviews,main) .review-jump label{display:flex;align-items:center;gap:8px;color:#aeb7a5;font-size:12px}
:is(#voice-reviews,main) .review-jump input{width:78px;min-width:0;padding:6px 8px;font:inherit;flex:none}
:is(#voice-reviews,main) .review-jump button{min-height:32px;padding:5px 12px;font-size:12px}

#review-status:empty,#status:empty{display:none}#voice-reviews .searchRow{margin-top:0}

/* Scrollbars for overflowing dialogue and comment fields. */
:is(#voice-reviews,#list) .voice-card .phrase,:is(#voice-reviews,#list) .voice-card textarea{scrollbar-width:thin;scrollbar-color:#9c8857 #111b13;scrollbar-gutter:stable;padding-right:7px}
:is(#voice-reviews,#list) .voice-card ::-webkit-scrollbar{width:6px;height:6px}
:is(#voice-reviews,#list) .voice-card ::-webkit-scrollbar-track{background:#111b13;border-radius:5px}
:is(#voice-reviews,#list) .voice-card ::-webkit-scrollbar-thumb{background:#9c8857;border:1px solid #111b13;border-radius:5px}
:is(#voice-reviews,#list) .voice-card ::-webkit-scrollbar-thumb:hover{background:#cfb879}
:is(#voice-reviews,#list) .voice-card ::-webkit-scrollbar-button{display:none;width:0;height:0}
:is(#voice-reviews,#list) .voice-card ::-webkit-scrollbar-corner{background:transparent}

/* One compact pagination toolbar. */
:is(#voice-reviews,main) .review-navigation{display:flex;align-items:center;justify-content:center;gap:18px;margin:18px 0 0;padding-top:14px;border-top:1px solid #ad94552b;flex-wrap:wrap}
:is(#voice-reviews,main) .review-navigation .review-pagination,:is(#voice-reviews,main) .review-navigation footer{display:flex;align-items:center;gap:12px;margin:0;padding:0}
:is(#voice-reviews,main) .review-navigation .review-jump{display:flex;align-items:center;gap:8px;margin:0;padding-left:18px;border-left:1px solid #ad94553d}
:is(#voice-reviews,main) .review-navigation button,:is(#voice-reviews,main) .review-navigation input{box-sizing:border-box;height:34px;min-height:34px;margin:0;padding:6px 12px;font:12px/1.3 system-ui,sans-serif;border-radius:3px}
:is(#voice-reviews,main) .review-navigation input{width:60px;padding:6px 8px;text-align:center}
:is(#voice-reviews,main) .review-navigation span{font-size:12px;color:#c7c9b7;white-space:nowrap}
:is(#voice-reviews,main) .review-navigation label{white-space:nowrap}
@media(max-width:520px){:is(#voice-reviews,main) .review-navigation{gap:8px}:is(#voice-reviews,main) .review-navigation .review-pagination{gap:7px}:is(#voice-reviews,main) .review-navigation .review-jump{padding-left:8px;gap:5px}:is(#voice-reviews,main) .review-navigation button{padding-inline:8px}:is(#voice-reviews,main) .review-navigation input{width:48px}}

/* Matching compact navigation buttons. */
:is(#voice-reviews,main) .review-navigation{gap:12px;margin-top:14px;padding-top:12px}
:is(#voice-reviews,main) .review-navigation .review-pagination,:is(#voice-reviews,main) .review-navigation footer{gap:9px}
:is(#voice-reviews,main) .review-navigation .review-jump{gap:7px;padding-left:12px}
:is(#voice-reviews,main) .review-navigation button{display:inline-flex;align-items:center;justify-content:center;flex:0 0 76px;width:76px;min-width:76px;max-width:76px;height:30px;min-height:30px;max-height:30px;padding:0;border:1px solid #a78f565c;border-radius:3px;background:linear-gradient(180deg,#2a3826,#1c2a1e);color:#d9c58f;font:12px/1 system-ui,sans-serif;box-shadow:inset 0 1px #dfc6810a}
:is(#voice-reviews,main) .review-navigation button:hover:not(:disabled){border-color:#c5ac70;background:#33442c}
:is(#voice-reviews,main) .review-navigation button:disabled{opacity:.38}
:is(#voice-reviews,main) .review-navigation input{width:52px;height:30px;min-height:30px;padding:4px 6px;font-size:12px}
@media(max-width:520px){:is(#voice-reviews,main) .review-navigation{gap:8px}:is(#voice-reviews,main) .review-navigation .review-jump{padding-left:8px}:is(#voice-reviews,main) .review-navigation button{flex-basis:66px;width:66px;min-width:66px;max-width:66px}}

#voice-reviews #review-list{margin-top:10px}

/* Opposite corner ornaments matching the statistics panel. */
#voice-reviews{position:relative}
#voice-reviews::before,#voice-reviews::after{content:"";position:absolute;width:18px;height:18px;pointer-events:none;border-color:#bba366;border-style:solid;z-index:1}
#voice-reviews::before{top:5px;left:5px;border-width:1px 0 0 1px}
#voice-reviews::after{right:5px;bottom:5px;border-width:0 1px 1px 0}

:is(#voice-reviews,main) .character-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
:is(#voice-reviews,main) button.character-card{display:grid;grid-template-columns:1fr 20px;text-align:left;align-items:center;gap:7px 12px;min-width:0;padding:18px;background:linear-gradient(135deg,#1c2a1e,#111c14);border:1px solid #a58b514d;border-radius:3px;color:#dac68f}
:is(#voice-reviews,main) button.character-card:hover{background:#293a26;border-color:#b9a16a}
.character-name{font:18px/1.3 Georgia,serif;overflow-wrap:anywhere}.character-count{grid-column:1;font-size:11px;color:#99a58e}.character-arrow{grid-column:2;grid-row:1/3;color:#bba46a}
:is(#voice-reviews,main) .review-trail{display:flex;gap:14px;align-items:center;margin:0 0 14px;color:#d8c38b;font:18px Georgia,serif}
:is(#voice-reviews,main) .review-trail button{padding:6px 10px;min-height:30px;font:12px system-ui}
@media(max-width:700px){:is(#voice-reviews,main) .character-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:430px){:is(#voice-reviews,main) .character-list{grid-template-columns:1fr}}

/* Character identity medallions and restrained tonal variation. */
:is(#voice-reviews,main) button.character-card{--seal:#bba46a;--wash:#9d824615;position:relative;grid-template-columns:44px minmax(0,1fr) 18px;gap:5px 12px;padding:16px 14px;min-height:90px;background:radial-gradient(ellipse at 0 0,var(--wash),transparent 75%),linear-gradient(130deg,#1a251b,#111b14);border-color:#a58b5138;transition:background .18s,border-color .18s,transform .18s,box-shadow .18s;overflow:hidden}
:is(#voice-reviews,main) button.character-card[data-tone="1"]{--seal:#9bad94;--wash:#8faa8220}
:is(#voice-reviews,main) button.character-card[data-tone="2"]{--seal:#b89b7c;--wash:#b07b5120}
:is(#voice-reviews,main) button.character-card[data-tone="3"]{--seal:#8daaa7;--wash:#60968c1a}
:is(#voice-reviews,main) .character-seal{grid-column:1;grid-row:1/3;display:flex;align-items:center;justify-content:center;width:42px;height:48px;border:1px solid color-mix(in srgb,var(--seal) 45%,transparent);border-radius:21px 21px 5px 5px;color:var(--seal);font:16px/1 Georgia,serif;letter-spacing:1px;background:linear-gradient(155deg,#d9c68e0d,#0002);box-shadow:inset 0 0 0 3px #111b1470;position:relative}
:is(#voice-reviews,main) .character-seal::after{content:"";position:absolute;bottom:5px;width:10px;height:1px;background:var(--seal);opacity:.45}
:is(#voice-reviews,main) .character-name{grid-column:2;grid-row:1;align-self:end;font-size:17px;line-height:1.25;color:#ded1ac}
:is(#voice-reviews,main) .character-count{grid-column:2;grid-row:2;align-self:start;font-size:11px;color:#91a18c}
:is(#voice-reviews,main) .character-arrow{grid-column:3;grid-row:1/3;opacity:.5;transition:transform .18s,opacity .18s;color:var(--seal)}
:is(#voice-reviews,main) button.character-card:hover{background:radial-gradient(ellipse at 0 0,var(--wash),transparent 90%),#253222;border-color:var(--seal);transform:translateY(-2px);box-shadow:0 5px 14px #0003}
:is(#voice-reviews,main) button.character-card:hover .character-arrow{opacity:1;transform:translateX(2px)}
:is(#voice-reviews,main) button.character-card:focus-visible{outline:2px solid #d0b777;outline-offset:2px}
@media(prefers-reduced-motion:reduce){:is(#voice-reviews,main) button.character-card,:is(#voice-reviews,main) .character-arrow{transition:none;transform:none}}
