.workbench-link { white-space: normal; font-weight: 800; }
.workbench-link span { margin-right: 5px; }
.wb-welcome { display: grid; grid-template-columns: 1fr 220px; align-items: center; gap: 28px; padding: 22px 26px; background: #edf2dd; border-radius: 6px 30px 6px 6px; border-bottom: 5px solid #c6b28d; }
.wb-welcome h3 { font: 600 38px/1.13 Fredoka, sans-serif; margin: 0 0 16px; }
.wb-welcome p { max-width: 49ch; }
.wb-sketch { width: 100%; height: auto; display: block; }
.wb-paper-model { transform-origin: center; transform: rotate(var(--model-turn, 0deg)); transition: transform .2s ease-out; }
.wb-fine { color: #62766b; font-size: 12px; line-height: 1.6; }
.wb-casebook { display: flex; flex-wrap: wrap; gap: 8px 18px; align-items: baseline; justify-content: space-between; margin: 26px 0 15px; font-size: 12px; color: #62766b; }
.wb-casebook strong { color: #5c5cde; }
.wb-briefs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.wb-brief { display: grid; grid-template-columns: 86px minmax(0, 1fr); gap: 12px; align-items: center; text-align: left; padding: 18px 16px; border: 1px solid #d7dcca; border-left: 4px solid #a7b992; border-radius: 5px 14px 14px 5px; background: #fffdf2; color: #294543; }
.wb-brief:hover { border-color: #8b87cf; background: #f3f1ff; }
.wb-brief:nth-child(3n + 2) { border-left-color: #d9af6e; }
.wb-brief:nth-child(3n) { border-left-color: #8b87cf; }
.wb-brief small, .wb-brief strong, .wb-brief em { display: block; }
.wb-brief small { font-size: 10px; line-height: 1.45; color: #62766b; }
.wb-brief strong { font: 600 20px/1.2 Fredoka, sans-serif; margin: 6px 0 10px; }
.wb-brief em { font-size: 10px; font-style: normal; color: #6059a1; }
.wb-toolbar, .wb-actions { display: flex; flex-wrap: wrap; gap: 10px 18px; align-items: center; justify-content: space-between; }
.wb-toolbar { margin: -12px 0 22px; }
.wb-toolbar .text-link { font-size: 12px; min-height: 44px; }
.wb-client { font-size: 13px; font-weight: 800; color: #647a70; margin-bottom: 18px; }
.wb-process { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); list-style: none; margin: 0 0 28px; padding: 0; }
.wb-process li { position: relative; display: grid; gap: 8px; justify-items: center; text-align: center; font-size: 12px; font-weight: 800; color: #6d7b6e; }
.wb-process li::before { content: ''; position: absolute; height: 2px; background: #d9deca; left: 0; right: 0; top: 15px; }
.wb-process li:first-child::before { left: 50%; }
.wb-process li:last-child::before { right: 50%; }
.wb-process li span { position: relative; display: grid; place-items: center; width: 32px; height: 32px; border: 2px solid #d9deca; border-radius: 50%; background: var(--paper); }
.wb-process li[aria-current] { color: #5c5cde; }
.wb-process li[aria-current] span { border-color: #5c5cde; background: #5c5cde; color: #fffdf2; }
.wb-process li.done span { background: #e6edda; border-color: #a8bb91; color: #42664c; }
.wb-stage { display: grid; grid-template-columns: minmax(0, 1fr) 165px; gap: 24px; align-items: center; margin-bottom: 22px; }
.wb-stage h3, .wb-reflection h3, .wb-published h3 { font: 600 29px/1.2 Fredoka, sans-serif; margin: 8px 0 14px; }
.wb-process-line { color: #5d5b9a; font-size: 12px; line-height: 1.5; margin: 0; }
.wb-model { margin: 0; padding: 8px 12px 12px; background-color: #f1f1e3; background-image: linear-gradient(#a8b99720 1px, transparent 1px), linear-gradient(90deg, #a8b99720 1px, transparent 1px); background-size: 16px 16px; border-radius: 4px; }
.wb-model figcaption { font-size: 10px; font-weight: 800; line-height: 1.4; text-align: center; color: #64765d; }
.wb-brief-note { border-left: 3px solid #d9af6e; padding: 4px 0 4px 16px; margin: 0 0 24px; color: #526b5d; font-size: 13px; line-height: 1.65; }
.wb-brief-note summary, .wb-your-notes summary, .wb-real-story summary, .wb-pipeline summary { font-weight: 800; cursor: pointer; padding: 7px 0; }
.wb-brief-note p { margin: 8px 0; }
.wb-options { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.wb-options button { display: flex; flex-direction: column; align-items: flex-start; gap: 13px; text-align: left; border: 1px solid #d7dcca; border-radius: 12px; background: #fffef8; color: #294543; padding: 18px; min-height: 44px; }
.wb-options button:hover { background: #f1effc; border-color: #9b95d1; }
.wb-options button[aria-pressed="true"] { border-color: #5c5cde; box-shadow: inset 0 0 0 1px #5c5cde; background: #efedff; }
.wb-option-mark { flex-shrink: 0; display: grid; place-items: center; width: 27px; height: 27px; border: 1px solid #ccd4ba; border-radius: 50%; font-size: 12px; font-weight: 800; }
[aria-pressed="true"] > .wb-option-mark { background: #5c5cde; color: #fffdf2; border-color: #5c5cde; }
.wb-options button strong { display: block; font: 600 19px/1.23 Fredoka, sans-serif; margin-bottom: 9px; }
.wb-options button small { display: block; color: #5d5b9a; font-size: 10px; font-weight: 800; margin-bottom: 5px; }
.wb-options button span span { display: block; font-size: 12px; line-height: 1.6; }
.wb-feedback { border-left: 4px solid #9dab7d; padding: 17px 21px; margin: 22px 0; background: #edf2dd; border-radius: 0 12px 12px 0; }
.wb-feedback strong { font-size: 12px; color: #48644c; }
.wb-feedback p { margin: 6px 0 0; font-size: 14px; line-height: 1.65; }
.wb-actions { margin: 23px 0 15px; }
.wb-actions .primary-button, .wb-actions .secondary-button { white-space: normal; min-height: 44px; font-size: 12px; }
#workbench-content button:disabled { opacity: .42; cursor: default; transform: none; }
#workbench-content :is(button, a, summary):focus-visible { outline: 3px solid #7773c8; outline-offset: 3px; }
#workbench-content [tabindex="-1"]:focus { outline: none; }
.wb-source { font-size: 11px; font-weight: 800; color: #5c5cde; }
.wb-reflection { padding: 22px 25px; border: 1px solid #d6ddc7; border-radius: 16px; background: #f1f4e7; }
.wb-reflection > p { line-height: 1.65; }
.wb-your-notes { font-size: 13px; }
.wb-your-notes ol { margin: 12px 0 0; padding: 0; list-style: none; }
.wb-your-notes li { display: grid; grid-template-columns: 80px minmax(0, 1fr); gap: 12px; padding: 10px 0; border-top: 1px solid #d7dfc9; line-height: 1.6; }
.wb-reveal { text-align: center; padding: 22px 0; }
.wb-reveal > div { display: flex; align-items: center; justify-content: center; gap: 20px; text-align: left; }
.wb-reveal .wb-sketch { width: 130px; height: auto; }
.wb-reveal .primary-button { white-space: normal; min-height: 48px; }
.wb-published { margin-top: 32px; padding-top: 26px; border-top: 2px solid #cbc8e2; }
.wb-published > p { font-size: 15px; line-height: 1.7; }
.wb-case-image { display: block; width: 100%; height: auto; margin: 24px 0; border-radius: 12px; }
.wb-real-story details, .wb-pipeline { padding: 12px 0; border-bottom: 1px solid #e2e5d4; font-size: 14px; line-height: 1.7; }
.wb-real-story p { max-width: 76ch; }
.wb-published h4 { font: 600 22px Fredoka, sans-serif; margin: 26px 0 15px; }
.wb-built { padding: 0; list-style: none; display: grid; gap: 18px; }
.wb-built li { border-left: 3px solid #a4b992; padding-left: 18px; }
.wb-built strong { font-size: 14px; }
.wb-built p, .wb-pipeline p { font-size: 13px; line-height: 1.7; margin: 6px 0 0; }
.wb-pipeline li { padding: 10px 0; }
.wb-metrics { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; margin: 20px 0; }
.wb-metrics strong { display: block; font: 600 30px Fredoka, sans-serif; color: #5c5cde; }
.wb-metrics span { display: block; font-size: 12px; line-height: 1.5; color: #647a70; margin-top: 6px; }
.wb-share-status { font-size: 12px; overflow-wrap: anywhere; }
.wb-passport { margin: 24px 0; padding: 18px; border: 1px solid #d8d7e8; border-radius: 14px; background: #f1effb; }
.wb-passport h3 { margin: 0 0 6px; font: 600 22px Fredoka, sans-serif; }
.wb-passport p { font-size: 13px; line-height: 1.6; }
@media (max-width: 700px) {
  .wb-welcome { grid-template-columns: minmax(0, 1fr); gap: 10px; padding: 18px; }
  .wb-welcome h3 { font-size: 29px; }
  .wb-welcome > .wb-sketch { display: none; }
  .wb-welcome p { font-size: 13px; line-height: 1.6; }
  .wb-welcome .wb-fine { font-size: 11px; }
  .wb-briefs { grid-template-columns: 1fr; }
  .wb-stage { grid-template-columns: minmax(0, 1fr); gap: 10px; }
  .wb-stage h3, .wb-reflection h3, .wb-published h3 { font-size: 24px; }
  .wb-model { display: flex; align-items: center; gap: 12px; padding: 4px 12px; }
  .wb-model .wb-sketch { width: 64px; height: auto; flex-shrink: 0; }
  .wb-model figcaption { font-size: 11px; text-align: left; }
  .wb-options { grid-template-columns: 1fr; }
  .wb-options button { flex-direction: row; padding: 15px; gap: 12px; }
  .wb-options button strong { font-size: 19px; }
  .wb-process { margin-bottom: 23px; }
  .wb-process li { font-size: 9px; }
  .wb-process li span { width: 28px; height: 28px; font-size: 11px; }
  .wb-process li::before { top: 13px; }
  .wb-toolbar { margin-bottom: 14px; }
  .wb-reflection { padding: 18px; }
  .wb-actions { gap: 10px; }
  .wb-actions > .primary-button { flex: 1; }
  .wb-your-notes li { grid-template-columns: 1fr; gap: 3px; }
  .wb-metrics { gap: 14px; }
  .wb-metrics strong { font-size: 25px; }
  .wb-metrics span { font-size: 10px; }
  .wb-reveal > div { gap: 10px; font-size: 13px; }
  .wb-reveal .wb-sketch { width: 95px; height: auto; }
}
@media (prefers-reduced-motion: reduce) { .wb-paper-model { transition: none; } }
