.briefing-body { pointer-events: auto; }
.briefing-content {
  position: absolute; inset: 20px 28px; overflow: auto;
  display: flex; flex-direction: column; align-items: stretch; gap: 10px;
  padding: 2px 5px 10px 2px; scrollbar-width: thin;
  scrollbar-color: var(--design-border) transparent; overscroll-behavior: contain;
  color: var(--design-text); font: 13px/1.45 var(--design-font);
}
.briefing-content label { font-weight: 500; text-align: left; }
.briefing-content [hidden] { display: none; }
.briefing-dropzone {
  position: relative; width: 190px; height: 190px; flex: 0 0 190px;
  margin: 0 auto; padding: 22px 27px;
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px;
  color: var(--design-text); background: #ffffff09;
  border: 0; border-radius: 50%; font: inherit; cursor: pointer;
  transition: background 180ms ease;
}
.briefing-dropzone:hover { background: #ffffff18; }
.briefing-dropzone:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }
.drop-outline { position: absolute; inset: 0; width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-width: 1; stroke-dasharray: 5 5; opacity: .5; pointer-events: none; }
.drop-outline rect, .drop-outline polygon { display: none; }
.drop-plus { font: 300 34px/1 var(--design-font); }
.briefing-dropzone strong { font-size: 13px; font-weight: 500; }
.drop-hint { font-size: 10px; opacity: .85; }
.drop-formats { font-size: 9px; line-height: 1.4; text-align: center; opacity: .75; }
body[data-design='performance'] .briefing-dropzone { border-radius: 3px; }
body[data-design='physio'] .briefing-dropzone { border-radius: 16.72%; }
body[data-design='power'] .briefing-dropzone { border-radius: 0; background: none; }
body[data-design='power'] .briefing-dropzone::before {
  content: ''; position: absolute; inset: 0; background: #ffffff09;
  clip-path: polygon(29.29% 0,70.71% 0,100% 29.29%,100% 70.71%,70.71% 100%,29.29% 100%,0 70.71%,0 29.29%); pointer-events: none;
}
body[data-design='power'] .briefing-dropzone:hover::before { background: #ffffff18; }
body[data-design='performance'] .drop-outline circle,
body[data-design='physio'] .drop-outline circle,
body[data-design='power'] .drop-outline circle { display: none; }
body[data-design='performance'] .drop-outline rect,
body[data-design='physio'] .drop-outline rect,
body[data-design='power'] .drop-outline polygon { display: block; }
body[data-design='performance'] .drop-outline rect { rx: 3px; }
body[data-design='physio'] .drop-outline rect { rx: 33px; }
.briefing-demo-hint { margin: 0; font-size: 10px; opacity: .7; }
.briefing-demo-hint:empty { display: none; }
.briefing-content textarea {
  width: 100%; min-height: 90px; flex: 0 0 90px; box-sizing: border-box; resize: vertical;
  padding: 12px; border: 1px solid var(--design-border); border-radius: var(--design-radius);
  color: var(--design-text); background: #ffffff09; font: inherit;
}
.briefing-content textarea::placeholder { color: var(--design-muted); opacity: .65; }
.briefing-content textarea:focus-visible { outline: 2px solid var(--design-text); outline-offset: -2px; }
.briefing-gallery { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; }
.briefing-gallery h4 { margin: 0 0 8px; font-size: 11px; font-weight: 500; }
.briefing-gallery figure { margin: 0; overflow: hidden; border: 1px solid var(--design-border); border-radius: var(--design-radius); background: #ffffff09; }
.briefing-gallery figure svg { display: block; width: 100%; max-height: 82px; }
.briefing-gallery figcaption { padding: 7px; font-size: 9px; overflow-wrap: anywhere; }
.briefing-demo-reset { grid-column: 1/-1; justify-self: start; padding: 4px 0; border: 0; color: inherit; background: none; font: inherit; font-size: 10px; text-decoration: underline; cursor: pointer; }
body[data-layout='v2'] .briefing-body { overflow: hidden; }
body[data-layout='v2'] .briefing-content { inset: 22px 18% 20%; }
@media (max-width: 600px) {
  .briefing-content { inset: 14px 18px; }
  body[data-layout='v2'] .briefing-content { inset: 14px 17% 22%; }
  .briefing-dropzone { width: 172px; height: 172px; flex-basis: 172px; padding: 15px 23px; }
  .drop-plus { font-size: 25px; }
  .drop-formats { font-size: 8px; }
  .briefing-gallery { grid-template-columns: 1fr; }
}
