.dmk-player { --dmk-ink:#263e35; --dmk-muted:#5f665d; --dmk-border:#dcd5c6; --dmk-paper:#faf5e9; color:var(--dmk-ink); font-family:system-ui,-apple-system,sans-serif; min-width:0; }
.dmk-player *, .dmk-player *::before, .dmk-player *::after { box-sizing:border-box; }
.dmk-player [hidden] { display:none !important; }
.dmk-player button, .dmk-player input { font:inherit; }
.dmk-player button { background:transparent; color:inherit; border:1px solid var(--dmk-border); border-radius:5px; cursor:pointer; min-height:44px; padding:10px 14px; }
.dmk-player button:disabled { cursor:default; color:#77766d; background:#f0ede4; }
.dmk-player button:hover:not(:disabled) { background:#e9eee5; }
.dmk-player :focus-visible { outline:3px solid #337b87; outline-offset:4px; }
.dmk-player a { color:#365f50; text-decoration-thickness:1px; text-underline-offset:3px; }
.dmk-player-head { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:24px 30px; }
.dmk-player-head h3 { font:400 clamp(24px,3vw,32px)/1.15 Georgia,serif; margin:4px 0 0; }
.dmk-player .dmk-eyebrow { margin:0; font-size:11px; line-height:1.4; letter-spacing:2px; text-transform:uppercase; color:var(--dmk-muted); }
.dmk-player .dmk-badge { display:inline-block; border:1px solid #d4b99a; border-radius:20px; padding:5px 10px; color:#784329; font-size:11px; text-transform:uppercase; letter-spacing:.8px; }
.dmk-stage { background:var(--dmk-paper); aspect-ratio:960/500; width:100%; max-height:400px; overflow:hidden; }
.dmk-stage svg,.dmk-stage canvas,.dmk-stage img { display:block; width:100%; height:100%; object-fit:contain; }
.dmk-stage-note { display:flex; justify-content:space-between; flex-wrap:wrap; gap:6px 14px; padding:10px 28px; background:var(--dmk-paper); border-top:1px solid #e6dece; font-size:11px; color:var(--dmk-muted); }
.dmk-transport { padding:22px 28px 0; }
.dmk-controls { display:flex; flex-wrap:wrap; gap:8px; }
.dmk-controls .dmk-play { background:var(--dmk-ink); color:#fff; border-color:var(--dmk-ink); min-width:150px; }
.dmk-controls .dmk-play:hover:not(:disabled) { background:#3b594b; }
.dmk-controls .dmk-play:disabled { background:#e8e9df; border-color:#ddd; color:#50584c; }
.dmk-scrubber { margin-top:22px; display:grid; grid-template-columns:1fr auto; gap:9px; font-size:12px; color:var(--dmk-muted); }
.dmk-scrubber output { font-variant-numeric:tabular-nums; }
.dmk-scrubber input { grid-column:1/-1; width:100%; margin:0; min-height:32px; accent-color:var(--dmk-ink); cursor:pointer; }
.dmk-stops { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; margin-top:4px; }
.dmk-stops button { border:0; border-top:2px solid var(--dmk-border); border-radius:0; padding:10px 2px; text-align:left; font-size:11px; line-height:1.4; display:flex; gap:7px; align-items:baseline; }
.dmk-stops button[aria-pressed="true"] { border-top-color:#a34e32; color:#813b27; font-weight:650; }
.dmk-stops button span { font-variant-numeric:tabular-nums; }
.dmk-caption { display:grid; grid-template-columns:54px 1fr; gap:14px; padding:22px 28px 10px; }
.dmk-step-count { font-size:12px; font-variant-numeric:tabular-nums; color:#895b3c; padding-top:4px; }
.dmk-caption h4 { margin:0; font-size:17px; font-weight:600; }
.dmk-caption p { margin:7px 0 0; line-height:1.65; font-size:15px; max-width:65ch; }
.dmk-motion-note { font-size:12px; line-height:1.6; color:var(--dmk-muted); margin:8px 28px 20px; }
.dmk-status { position:absolute; width:1px; height:1px; padding:0; margin:-1px; clip-path:inset(50%); overflow:hidden; white-space:nowrap; }
.dmk-transcript { margin:0 28px 26px; border-top:1px solid var(--dmk-border); font-size:14px; }
.dmk-transcript summary { padding:15px 0; cursor:pointer; min-height:48px; }
.dmk-transcript ol { padding-left:22px; display:grid; gap:12px; }
.dmk-transcript li { padding-left:8px; line-height:1.6; }
.dmk-transcript li p { margin:4px 0 8px; }
.dmk-limit { color:#704b32; background:#f4eee2; padding:14px; line-height:1.6; }
.dmk-source-links { font-size:12px; line-height:1.8; }
@media(max-width:600px) {
  .dmk-player-head { padding:19px 17px; }
  .dmk-player-head h3 { font-size:25px; }
  .dmk-player .dmk-badge { font-size:9px; padding:5px 7px; }
  .dmk-stage-note { padding:9px 17px; font-size:10px; }
  .dmk-transport { padding:18px 17px 0; }
  .dmk-controls { gap:7px; }
  .dmk-controls button { padding:9px 11px; font-size:13px; }
  .dmk-controls .dmk-play { min-width:134px; }
  .dmk-controls [data-action="replay"] { margin-left:auto; }
  .dmk-stops { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .dmk-stops button { font-size:12px; min-height:50px; }
  .dmk-caption { padding:18px 17px 8px; grid-template-columns:43px 1fr; gap:9px; }
  .dmk-caption p { font-size:15px; }
  .dmk-motion-note { margin:8px 17px 18px; }
  .dmk-transcript { margin:0 17px 20px; }
}
@media(prefers-reduced-motion:reduce) { .dmk-player *, .dmk-player *::before, .dmk-player *::after { scroll-behavior:auto!important; animation:none!important; transition:none!important; } }
