/* Shared presentation for standalone studies and embedded viewers. BY K² LAB */
canvas { display: block; touch-action: none; }
.brand-group { min-width: 0; }
.brand-title { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.header-bar { gap: 12px; }
.brand-badge, .brand-endorsement { flex-shrink: 0; white-space: nowrap; }
.part-item:focus-visible, button:focus-visible { outline: 2px solid #38bdf8; outline-offset: 2px; }
.work-panel-tools { display: none; }
.work-render-error { position: absolute; z-index: 30; inset: 25% 15%; display: grid; place-content: center; gap: 16px; text-align: center; background: #111827; border: 1px solid #475569; border-radius: 16px; padding: 24px; font-size: 14px; line-height: 1.7; }
.work-render-error a { color: #7dd3fc; }
@media (max-width: 1100px) {
  .left-panel, .right-panel { display: none; }
  .work-panel-tools { position: absolute; top: 62px; left: 12px; z-index: 24; display: flex; gap: 8px; }
  .work-panel-tools button { font: inherit; font-size: 12px; color: #e2e8f0; background: #152033; border: 1px solid #475569; border-radius: 8px; min-height: 36px; padding: 4px 12px; }
  .work-panel-tools button[aria-expanded="true"] { background: #075985; }
  .left-panel.work-panel-open, .right-panel.work-panel-open { display: flex; flex-direction: column; top: 108px; left: 12px; right: auto; width: min(310px, calc(100% - 24px)); bottom: 124px; overflow-y: auto; background: rgba(9,13,22,.97); }
  .header-bar { padding: 0 12px; }
  .header-bar > div:last-child:not(.brand-group) { display: none; }
  .brand-group .brand-endorsement { display: none; }
  .bottom-controls, .bottom-bar { max-width: calc(100% - 24px); width: max-content; gap: 6px; padding: 8px; border-radius: 14px; flex-wrap: wrap; justify-content: center; bottom: max(12px, env(safe-area-inset-bottom)); }
  .btn-ctrl, .btn-action { min-height: 38px; padding: 6px 10px; white-space: nowrap; font-size: 11px; }
  .annotation-marker { max-width: 180px; }
  .anno-card { overflow: hidden; text-overflow: ellipsis; }
}
@media (max-width: 420px) {
  .brand-title { font-size: 12px; }
  .brand-group { gap: 8px; }
  .brand-badge { font-size: 9px; padding: 3px 5px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; }
}

.work-filing { position: absolute; z-index: 28; bottom: max(3px, env(safe-area-inset-bottom)); left: 50%; transform: translateX(-50%); padding: 3px 8px; color: #b8c4d5; font-size: 11px; line-height: 18px; white-space: nowrap; text-decoration: none; }
.work-filing:hover { color: #fff; text-decoration: underline; }
.bottom-controls.bottom-controls, .bottom-bar.bottom-bar { bottom: calc(34px + env(safe-area-inset-bottom)); }
