/* Handoff-inspired surfaces: bone, terracotta and a little Svadhyaya green. */
.ws-room-tabs {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
  padding: 6px;
  background: #efeee7;
  border: 1px solid #e3e2d8;
  border-radius: 12px;
  margin: 0 0 34px;
}
.ws-room-tabs a {
  padding: 12px 17px;
  border-radius: 8px;
  display: flex;
  flex-direction: column;
  gap: 4px;
  color: #65695d;
}
.ws-room-tabs a:hover {
  background: #ffffff90;
}
.ws-room-tabs a[aria-current="page"] {
  background: #344638;
  color: white;
  box-shadow: 0 2px 3px #273c3310;
}
.ws-room-tabs strong {
  font-size: 13px;
  font-weight: 550;
  letter-spacing: -0.1px;
}
.ws-room-tabs span {
  font-size: 10px;
  line-height: 1.5;
}
.ws-workspace-heading,
.ws-audit-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 28px;
}
.ws-workspace-heading h1,
.ws-audit-header h1 {
  font-family: Georgia, serif;
  font-weight: 400;
  font-size: 43px;
  letter-spacing: -1.5px;
  line-height: 1.12;
}
.ws-workspace-heading h1 span,
.ws-audit-header h1 span {
  color: #707361;
}
.ws-workspace-heading > div > p:last-child,
.ws-audit-header > div > p:last-child {
  margin-top: 14px;
  font-size: 13px;
  max-width: 620px;
  line-height: 1.8;
}
.ws-preview-controls {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 8px;
}
.ws-preview-controls .button {
  font-size: 11px;
  white-space: nowrap;
}
.ws-preview-controls [aria-pressed="true"] {
  border-color: #a96d4c;
  background: #f8ede2;
  color: #873d23;
}
.ws-stage {
  display: grid;
  grid-template-columns: minmax(210px, 0.7fr) minmax(0, 1.3fr);
  gap: 45px;
  align-items: start;
  max-width: 1060px;
  margin: 0 auto;
}
.ws-stage-guide {
  position: sticky;
  top: 25px;
  padding: 30px 4px 0;
}
.ws-overline {
  font-family: ui-monospace, monospace;
  font-size: 10px;
  letter-spacing: 1.1px;
  color: #696c5f;
  line-height: 1.6;
}
.ws-stage-guide h2 {
  font-family: Georgia, serif;
  font-size: 32px;
  line-height: 1.3;
  font-weight: 400;
  letter-spacing: -0.7px;
  margin: 17px 0;
}
.ws-stage-guide > p {
  font-size: 13px;
  line-height: 1.8;
  max-width: 280px;
}
.ws-stage-guide ol {
  padding: 0 0 0 18px;
  color: #59644f;
  font-size: 12px;
  line-height: 2.4;
  margin: 25px 0;
}
.ws-guide-note {
  display: flex;
  gap: 12px;
  padding: 18px 0;
  border-top: 1px solid #e3e5d9;
  border-bottom: 1px solid #e3e5d9;
  margin: 24px 0;
}
.ws-guide-note > .icon {
  color: #718461;
  margin-top: 2px;
}
.ws-guide-note p {
  font-size: 11px;
  line-height: 1.8;
}
.ws-device {
  background: #f7f3ec;
  border: 1px solid #e2dccf;
  border-radius: 18px;
  min-width: 0;
  max-width: 630px;
  overflow: hidden;
  box-shadow: 0 10px 28px #35442c07;
}
.ws-device-header {
  padding: 17px 24px;
  border-bottom: 1px solid #e2dccf;
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: #f3f1e8;
  gap: 10px;
}
.ws-device-header > span:first-child {
  display: flex;
  align-items: center;
  gap: 7px;
  font-size: 17px;
  font-family: Georgia, serif;
}
.ws-device-header > span > span {
  font-family: Svadhyaya, Arial, sans-serif;
  font-size: 11px;
  color: #5d634f;
}
.ws-device-header .icon {
  width: 18px;
  color: #687d51;
}
.ws-label {
  display: inline-flex;
  align-items: center;
  background: #f2eee5;
  border: 1px solid #ded9c9;
  color: #655f4e;
  border-radius: 5px;
  padding: 5px 9px;
  font-size: 10px;
  line-height: 1.4;
  max-width: 100%;
}
.ws-label.confirmed {
  background: #e7f0e2;
  border-color: #cbdcc4;
  color: #3f6239;
}
.ws-label.pending {
  background: #f6ead2;
  border-color: #e6d6b1;
  color: #765323;
}
.ws-device-status,
.ws-device-gesture {
  display: none;
}
.ws-screen {
  padding-bottom: 20px;
  min-height: 540px;
}
.ws-welcome {
  padding: 32px 30px 0;
}
.ws-welcome h2 {
  font-family: Georgia, serif;
  font-size: 38px;
  line-height: 1.12;
  letter-spacing: -1px;
  font-weight: 400;
  margin: 13px 0;
}
.ws-welcome h2 span {
  color: #707060;
}
.ws-welcome > p {
  font-size: 13px;
  line-height: 1.7;
  color: #666758;
  margin: 16px 0;
}
.ws-method {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 8px 11px;
  background: #eee7db;
  border: 1px solid #d8cebd;
  border-radius: 100px;
  font-family: ui-monospace, monospace;
  font-size: 10px;
  color: #5a5b4e;
  min-height: 36px;
  cursor: pointer;
  margin-top: 7px;
  max-width: 100%;
}
.ws-method .icon {
  width: 14px;
  height: 14px;
}
.ws-method[aria-expanded="true"] {
  background: #f0dcca;
  border-color: #c89774;
}
.ws-why {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  background: #f4e2d2;
  border: 1px solid #dfc5ac;
  margin: 18px 24px 0;
  padding: 15px 16px;
  border-radius: 10px;
  scroll-margin-top: 80px;
}
.ws-welcome .ws-why {
  margin-left: 0;
  margin-right: 0;
}
.ws-why strong {
  font-size: 12px;
  color: #71462e;
}
.ws-why p {
  font-size: 12px;
  color: #6a5140;
  line-height: 1.7;
  margin-top: 5px;
}
.ws-why .icon-button {
  flex-shrink: 0;
  color: #784f34;
}
.ws-home-actions {
  padding: 24px 30px 0;
  display: grid;
  gap: 12px;
}
.ws-big-action {
  display: flex;
  align-items: center;
  gap: 14px;
  background: white;
  border: 1px solid #ddd6c8;
  border-radius: 12px;
  padding: 19px 20px;
  min-height: 87px;
  transition:
    background 0.2s,
    transform 0.2s;
  color: #3e4839;
}
.ws-big-action:hover {
  background: #fcfbf8;
  transform: translateY(-2px);
}
.ws-big-action.accent {
  background: #a95533;
  border-color: #a95533;
  color: #fff9f0;
}
.ws-big-action.accent:hover {
  background: #924429;
}
.ws-big-action strong {
  font-size: 17px;
  font-weight: 550;
  display: block;
  letter-spacing: -0.3px;
}
.ws-big-action small {
  font-size: 11px;
  display: block;
  margin-top: 4px;
  line-height: 1.6;
}
.ws-big-action > .icon:last-child {
  margin-left: auto;
  width: 16px;
}
.ws-action-symbol {
  display: grid;
  place-items: center;
  width: 31px;
  height: 36px;
  flex-shrink: 0;
}
.ws-action-symbol > .icon {
  width: 27px;
  height: 27px;
}
.ws-your-stuff {
  margin: 24px 30px 0;
  padding: 19px 20px;
  background: #fffdfa;
  border: 1px solid #e0d9cc;
  border-radius: 12px;
}
.ws-your-stuff h3 {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.8px;
  font-weight: 500;
  color: #666b58;
}
.ws-your-stuff > div {
  display: flex;
  gap: 9px;
  margin-top: 13px;
  flex-wrap: wrap;
}
.ws-your-stuff .button {
  background: #f2ede3;
  border-color: #ded8ca;
  font-size: 11px;
  padding: 10px 12px;
  min-height: 40px;
}
.ws-your-stuff .button .icon {
  width: 13px;
}
.ws-screen-foot {
  font-size: 11px;
  line-height: 1.8;
  padding: 0 30px;
  margin: 23px 0 3px;
  color: #656b5b;
}
.ws-screen-foot .text-link {
  font-size: 11px;
  margin-top: 7px;
  color: #8c482e;
}
.ws-bottom-nav {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 3px;
  padding: 12px 13px;
  border-top: 1px solid #ddd9cb;
  background: #fbf8f1;
}
.ws-bottom-nav a {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 5px;
  padding: 7px 1px;
  font-size: 10px;
  color: #656958;
  min-height: 50px;
  border-radius: 9px;
}
.ws-bottom-nav a .icon {
  width: 19px;
  height: 19px;
}
.ws-bottom-nav a[aria-current="page"] {
  background: #eee2d3;
  color: #7f442a;
}
.ws-bottom-nav a:hover {
  background: #eeeadf;
}
.ws-screen-head {
  padding: 24px 30px 0;
}
.ws-back {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-size: 11px;
  color: #687256;
  min-height: 34px;
  margin-bottom: 9px;
}
.ws-back .icon {
  width: 14px;
  height: 14px;
  transform: rotate(180deg);
}
.ws-screen-head h2 {
  font-family: Georgia, serif;
  font-size: 32px;
  line-height: 1.17;
  letter-spacing: -0.7px;
  font-weight: 400;
  margin: 7px 0 11px;
}
.ws-screen-head > p {
  font-size: 13px;
  color: #686b5b;
  line-height: 1.7;
  margin-bottom: 10px;
}
.ws-plan-choices {
  display: grid;
  gap: 10px;
  padding: 22px 30px 5px;
}
.ws-plan-choice {
  display: flex;
  align-items: center;
  gap: 13px;
  width: 100%;
  text-align: left;
  background: #fffdfa;
  border: 1px solid #ded7ca;
  border-radius: 12px;
  padding: 15px 17px;
  min-height: 70px;
  color: #37422f;
}
.ws-plan-choice.selected {
  background: #e6eddf;
  border-color: #92a581;
}
.ws-plan-choice:disabled {
  opacity: 0.65;
}
.ws-plan-choice strong {
  font-size: 14px;
  font-weight: 550;
  line-height: 1.5;
  display: block;
}
.ws-plan-choice small {
  font-size: 10px;
  color: #58614c;
  text-transform: uppercase;
  letter-spacing: 0.55px;
  margin-top: 4px;
  display: block;
}
.ws-check {
  width: 25px;
  height: 25px;
  border: 1px solid #ccc8b8;
  border-radius: 6px;
  background: #fff;
  display: grid;
  place-items: center;
  flex-shrink: 0;
}
.ws-check .icon {
  width: 17px;
  height: 17px;
}
.selected .ws-check {
  background: #597349;
  border-color: #597349;
  color: #fff;
}
.ws-field-label {
  font-size: 12px;
  font-weight: 550;
  display: block;
  color: #454d3d;
  margin: 15px 0 7px;
}
.ws-device input,
.ws-device select,
.ws-device textarea,
#app-dialog #ws-share-recipient {
  font: inherit;
  font-size: 14px;
  line-height: 1.6;
  background: white;
  border: 1px solid #cfc8b8;
  border-radius: 8px;
  padding: 12px 14px;
  width: 100%;
  color: #303c2a;
  min-height: 48px;
}
.ws-device textarea {
  resize: vertical;
  min-height: 108px;
}
.ws-device input:focus-visible,
.ws-device select:focus-visible,
.ws-device textarea:focus-visible,
#ws-share-recipient:focus-visible {
  outline: 3px solid #aa6840;
  outline-offset: 3px;
}
.ws-small {
  font-size: 10px;
  line-height: 1.8;
  color: #636959;
  margin: 8px 0;
}
.ws-custom-selected {
  display: flex;
  gap: 9px;
  align-items: center;
  font-size: 13px;
  background: #e6eddf;
  border-radius: 8px;
  padding: 13px;
  overflow-wrap: anywhere;
}
.ws-custom-selected .icon {
  width: 16px;
}
.ws-limit {
  font-size: 11px;
  color: #5f6d4f;
  line-height: 1.8;
  margin-top: 6px;
}
.ws-primary {
  background: #a95533;
  border-color: #a95533;
  color: #fff9f0;
  min-height: 48px;
  border-radius: 9px;
  font-size: 13px;
  padding: 13px 18px;
}
.ws-primary:hover {
  background: #93462b;
  border-color: #93462b;
}
.ws-plan-choices .button-row {
  margin-top: 10px;
}
.ws-plan-choices .quiet-button {
  color: #6e6555;
  font-size: 12px;
}
.ws-timer-card {
  margin: 28px 30px;
  background: #fffdfa;
  border: 1px solid #ded7c8;
  border-radius: 17px;
  padding: 26px 23px;
  text-align: center;
}
.ws-duration {
  display: flex;
  gap: 8px;
  justify-content: center;
}
.ws-duration button {
  padding: 7px 12px;
  border: 1px solid #ded9ca;
  background: #f7f4ec;
  border-radius: 20px;
  font-size: 11px;
  min-height: 36px;
}
.ws-duration button[aria-pressed="true"] {
  background: #3e5540;
  border-color: #3e5540;
  color: white;
}
.ws-timer {
  font-family: Georgia, serif;
  font-size: 73px;
  font-weight: 400;
  letter-spacing: -2px;
  color: #3b4733;
  line-height: 1.3;
  margin: 22px 0 9px;
  font-variant-numeric: tabular-nums;
}
.ws-timer-card > p {
  font-size: 12px;
  color: #636959;
}
.ws-timer-card .button-row {
  justify-content: center;
  margin-top: 23px;
}
.ws-demo-warning {
  display: flex;
  gap: 11px;
  background: #eee9dc;
  border: 1px solid #ddd6c3;
  padding: 14px 15px;
  margin: 22px 30px 0;
  border-radius: 9px;
  font-size: 10px;
  line-height: 1.8;
  color: #646048;
}
.ws-demo-warning > .icon {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  margin-top: 2px;
}
.ws-demo-warning strong {
  color: #514f3a;
}
.ws-reflect-fields {
  display: grid;
  gap: 12px;
  padding: 23px 30px 5px;
}
.ws-question > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 8px;
}
.ws-question label {
  font-size: 14px;
  line-height: 1.5;
  font-weight: 550;
}
.ws-inline-why {
  background: #f0eade;
  border: 1px solid #d8cfbd;
  border-radius: 15px;
  font-size: 10px;
  color: #6c533e;
  padding: 5px 9px;
  min-height: 30px;
  flex-shrink: 0;
}
.ws-inline-why[aria-expanded="true"] {
  background: #f1dcc7;
  border-color: #c69168;
}
.ws-reflect-fields .ws-small {
  margin: 0;
}
.ws-reflect-fields .button-row {
  margin-top: 13px;
}
.ws-notebook,
.ws-notices {
  padding: 24px 30px 5px;
  display: grid;
  gap: 16px;
}
.ws-note {
  background: #fffdfa;
  border: 1px solid #ded8c9;
  border-radius: 13px;
  padding: 19px 20px;
  overflow-wrap: anywhere;
}
.ws-note header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 18px;
  flex-wrap: wrap;
}
.ws-note-answer {
  margin: 14px 0;
}
.ws-note-answer h4 {
  font-size: 10px;
  line-height: 1.6;
  font-weight: 550;
  color: #5c614e;
  margin: 0 0 5px;
  letter-spacing: 0;
}
.ws-note-answer p {
  font-size: 14px;
  line-height: 1.7;
  color: #414d35;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}
.ws-note-actions {
  display: flex;
  gap: 7px;
  margin: 19px 0 0;
  flex-wrap: wrap;
}
.ws-note-actions button,
.ws-notice-actions button {
  border: 1px solid #dcd5c5;
  background: #f6f2e9;
  border-radius: 20px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  font-size: 11px;
  min-height: 38px;
  padding: 8px 11px;
  color: #5e604e;
}
.ws-note-actions button .icon {
  width: 13px;
  height: 13px;
}
.ws-note-actions button:last-child,
.ws-notice-actions button:last-child {
  color: #904225;
}
.ws-note-actions button:hover,
.ws-notice-actions button:hover {
  background: #ece4d7;
}
.ws-strategy-label {
  font-size: 10px !important;
  color: #59634a !important;
  line-height: 1.8 !important;
  margin-top: 16px;
}
.ws-notebook-footer {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.ws-notebook-footer .button {
  font-size: 11px;
}
.ws-empty {
  text-align: center;
  border: 1px dashed #d3cbb7;
  border-radius: 12px;
  padding: 28px 19px;
  background: #fffefa;
}
.ws-empty > .icon {
  width: 34px;
  height: 34px;
  color: #71855c;
  margin: 0 auto 15px;
}
.ws-empty h3 {
  font-family: Georgia, serif;
  font-size: 23px;
  font-weight: 400;
  margin-bottom: 12px;
}
.ws-empty p {
  font-size: 12px;
  margin-bottom: 17px;
  line-height: 1.8;
}
.ws-notice {
  background: #fffdfa;
  border: 1px solid #ddd6c5;
  border-radius: 13px;
  padding: 21px 20px;
}
.ws-notice h3 {
  font-family: Georgia, serif;
  font-size: 21px;
  line-height: 1.35;
  font-weight: 400;
  margin: 16px 0 10px;
}
.ws-notice > p {
  font-size: 12px;
  line-height: 1.8;
  color: #616954;
}
.ws-notice details {
  font-size: 11px;
  margin: 17px 0;
  color: #586b49;
}
.ws-notice summary {
  cursor: pointer;
  min-height: 30px;
  line-height: 1.7;
}
.ws-notice details p,
.ws-notice li {
  font-size: 11px;
  line-height: 1.9;
}
.ws-notice details p {
  margin: 10px 0;
}
.ws-notice ul {
  padding-left: 17px;
}
.ws-notice-actions {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}
.ws-notice-actions button[aria-pressed="true"] {
  background: #dfe9d6;
  border-color: #97b180;
  color: #35562c;
}
.ws-notice .ws-response {
  margin: 15px 0 0;
  padding: 11px 13px;
  background: #f0eee2;
  border-radius: 6px;
  font-size: 11px;
  color: #625d42;
}
.ws-share-note {
  background: #f5f2e8;
  border: 1px solid #ded9c7;
  padding: 16px 20px;
  border-radius: 10px;
  margin: 18px 0;
  max-height: 300px;
  overflow: auto;
}
.ws-sharing-status {
  font-size: 10px;
  margin: 15px 0 0;
  color: #6b593f;
}
.ws-family-note {
  margin-top: 24px;
}
.ws-family-note > p {
  font-size: 12px;
  line-height: 1.9;
  margin: 12px 0;
}
.ws-family-note .ws-note-answer {
  max-width: 650px;
}
.ws-family-note > .text-link {
  margin-top: 10px;
}
.phone-mode .ws-device {
  width: 412px;
  max-width: 100%;
  border: 7px solid #6f76666b;
  border-radius: 27px;
  box-shadow: 0 20px 40px #33432917;
  margin-left: auto;
}
.phone-mode .ws-screen {
  height: 650px;
  min-height: 0;
  overflow: auto;
  scrollbar-width: thin;
  scrollbar-color: #c2c7b5 #f7f3ec;
}
.phone-mode .ws-device-status {
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: relative;
  height: 34px;
  padding: 0 16px;
  background: #f3f1e8;
  font-size: 11px;
  color: #43543b;
}
.phone-mode .ws-camera {
  position: absolute;
  left: 50%;
  top: 8px;
  background: #3b4635;
  width: 14px;
  height: 14px;
  border-radius: 50%;
}
.phone-mode .ws-device-gesture {
  display: block;
  background: #47543b80;
  width: 94px;
  height: 4px;
  border-radius: 4px;
  margin: 8px auto;
}
.phone-mode .ws-welcome h2 {
  font-size: 33px;
}
.phone-mode .ws-screen-head {
  padding-inline: 22px;
}
.phone-mode .ws-notebook,
.phone-mode .ws-notices,
.phone-mode .ws-plan-choices,
.phone-mode .ws-reflect-fields,
.phone-mode .ws-home-actions,
.phone-mode .ws-welcome {
  padding-left: 22px;
  padding-right: 22px;
}
.phone-mode .ws-your-stuff,
.phone-mode .ws-timer-card,
.phone-mode .ws-demo-warning {
  margin-left: 22px;
  margin-right: 22px;
}
.ws-audit-header {
  align-items: flex-end;
  border-bottom: 1px solid #e1dfd2;
  padding-bottom: 28px;
}
.ws-audit-header h1 {
  font-size: 42px;
}
.ws-decision-mark {
  width: 133px;
  height: 133px;
  border: 2px dashed #ac6843;
  border-radius: 50%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: center;
  font-family: Georgia, serif;
  font-size: 22px;
  line-height: 1.1;
  color: #8d4b2b;
  flex-shrink: 0;
  transform: rotate(-5deg);
}
.ws-decision-mark span {
  font-family: Svadhyaya, Arial, sans-serif;
  display: block;
  font-size: 8px;
  line-height: 1.5;
  letter-spacing: 0.8px;
  margin: 8px 12px 0;
}
.ws-review-banner {
  display: flex;
  align-items: flex-start;
  gap: 15px;
  padding: 21px 24px;
  border: 1px solid #decab2;
  border-radius: 11px;
  background: #f4eade;
  margin: 25px 0;
}
.ws-review-banner > .icon {
  flex-shrink: 0;
  margin-top: 2px;
  color: #8d5935;
}
.ws-review-banner p {
  font-size: 12px;
  line-height: 1.9;
  color: #71533a;
}
.ws-review-banner strong {
  font-weight: 600;
  color: #704125;
}
.ws-gate-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}
.ws-gate {
  display: flex;
  flex-direction: column;
  background: #fffefb;
  border: 1px solid #e0dacb;
  border-radius: 14px;
  padding: 23px 22px;
  min-width: 0;
}
.ws-gate h2 {
  font-family: Georgia, serif;
  font-size: 25px;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: -0.5px;
  margin: 10px 0 14px;
}
.ws-gate > .ws-label {
  align-self: flex-start;
}
.ws-gate p {
  font-size: 12px;
  line-height: 1.8;
  color: #68705c;
  margin: 14px 0;
}
.ws-gate .ws-gate-owner {
  font-size: 10px;
  color: #6d6c5d;
  margin-top: 15px;
}
.ws-gate h3 {
  font-size: 10px;
  letter-spacing: 0.6px;
  text-transform: uppercase;
  color: #646c54;
  margin: 18px 0 10px;
}
.ws-gate ul {
  margin: 0;
  padding-left: 17px;
  font-size: 12px;
  line-height: 1.8;
  color: #46573b;
}
.ws-gate li + li {
  margin-top: 7px;
}
.ws-gate .ws-gate-footnote {
  background: #f1eee4;
  padding: 13px;
  border-radius: 8px;
  font-size: 10px;
  margin: 22px 0 0;
  color: #626149;
}
.ws-next-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
  margin-top: 27px;
}
.ws-next-grid h2 {
  font-size: 22px;
  margin: 12px 0 16px;
}
.ws-next-grid p {
  font-size: 12px;
  line-height: 1.9;
  margin-bottom: 17px;
}
.ws-validation-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 17px;
  margin-bottom: 27px;
}
.ws-validation-summary article {
  background: #f2f3e9;
  border: 1px solid #dfe4d4;
  padding: 22px;
  border-radius: 12px;
}
.ws-validation-summary .icon {
  color: #6d8258;
  margin-bottom: 15px;
}
.ws-validation-summary h2 {
  font-size: 18px;
  margin-bottom: 13px;
}
.ws-validation-summary p {
  font-size: 12px;
  line-height: 1.8;
  color: #58694d;
}
.ws-file-review > h2 {
  font-size: 23px;
  margin-bottom: 24px;
}
.ws-file-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 27px;
}
.ws-file-list article {
  padding: 19px 0;
  border-top: 1px solid #e5e7dc;
  min-width: 0;
}
.ws-file-list h3 {
  font-size: 13px;
  margin-bottom: 10px;
  letter-spacing: -0.25px;
  overflow-wrap: anywhere;
}
.ws-file-list code {
  font-family: ui-monospace, monospace;
}
.ws-file-list p {
  font-size: 12px;
  line-height: 1.9;
  margin: 13px 0 0;
  color: #65715b;
}
.ws-file-list .ws-label {
  font-size: 9px;
}
.ws-screen-review {
  margin-top: 34px;
}
.ws-screen-review > h2 {
  font-size: 23px;
  margin-bottom: 12px;
}
.ws-screen-review > p {
  font-size: 12px;
  margin-bottom: 20px;
  line-height: 1.8;
}
.ws-review-table {
  border: 1px solid #dfddcf;
  border-radius: 12px;
  background: #fffefa;
  overflow: auto;
}
.ws-review-table table {
  border-collapse: collapse;
  width: 100%;
  min-width: 610px;
}
.ws-review-table th,
.ws-review-table td {
  padding: 19px 18px;
  border-bottom: 1px solid #e5e2d6;
  text-align: left;
  vertical-align: top;
  font-size: 12px;
  line-height: 1.8;
  color: #59634e;
}
.ws-review-table thead th {
  background: #edece1;
  color: #62644f;
  font-size: 10px;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  font-weight: 550;
}
.ws-review-table tbody th {
  font-family: Georgia, serif;
  font-size: 18px;
  line-height: 1.4;
  font-weight: 400;
  color: #874a2c;
  min-width: 95px;
}
.ws-review-table tr:last-child td,
.ws-review-table tr:last-child th {
  border-bottom: 0;
}
.ws-attribution {
  background: #f6ebe0;
  border-color: #e4d3bf;
}
.ws-open-questions {
  padding-left: 18px;
  margin: 16px 0 0;
  font-size: 12px;
  line-height: 2;
  color: #67735a;
}
.ws-review-table:focus-visible,
.ws-share-note:focus-visible {
  outline: 3px solid #ac7047;
  outline-offset: 3px;
}
.ws-entry-link {
  display: flex;
  align-items: center;
  gap: 15px;
  border: 1px solid #e2dac9;
  border-radius: 10px;
  background: #f5eee2;
  padding: 16px 20px;
  margin: 0 0 28px;
}
.ws-entry-link > span {
  flex: 1;
}
.ws-entry-link strong {
  display: block;
  font-size: 13px;
  color: #665338;
}
.ws-entry-link small {
  display: block;
  font-size: 11px;
  line-height: 1.8;
  margin-top: 3px;
  color: #6e6955;
}
.ws-entry-link > .icon {
  color: #916641;
}
.ws-entry-link .text-link {
  font-size: 11px;
  color: #804626;
}
.ws-policy-link {
  display: flex;
  gap: 14px;
  align-items: center;
  padding: 17px 20px;
  border: 1px solid #e0dfd2;
  border-radius: 10px;
  background: #f1f2e9;
  margin: 23px 0;
}
.ws-policy-link > p {
  flex: 1;
  font-size: 12px;
  color: #5f6d50;
  line-height: 1.7;
}
.ws-policy-link .text-link {
  white-space: nowrap;
}
@media (max-width: 1200px) {
  .ws-stage {
    gap: 27px;
    grid-template-columns: minmax(185px, 0.6fr) minmax(0, 1.4fr);
  }
  .ws-stage-guide h2 {
    font-size: 28px;
  }
  .ws-gate-grid {
    gap: 13px;
  }
  .ws-gate {
    padding: 20px 17px;
  }
  .ws-gate h2 {
    font-size: 23px;
  }
  .ws-audit-header h1 {
    font-size: 37px;
  }
  .ws-file-list {
    gap: 0 20px;
  }
  .ws-room-tabs a {
    padding: 10px 13px;
  }
  .ws-room-tabs strong {
    font-size: 12px;
  }
  .ws-room-tabs span {
    font-size: 9px;
  }
}
@media (max-width: 1000px) {
  .ws-stage {
    display: block;
    max-width: 630px;
  }
  .ws-stage-guide {
    display: none;
  }
  .ws-device {
    margin: 0 auto;
  }
  .phone-mode .ws-device {
    margin: 0 auto;
  }
  .ws-workspace-heading h1 {
    font-size: 36px;
  }
  .ws-audit-header h1 {
    font-size: 34px;
  }
  .ws-decision-mark {
    width: 111px;
    height: 111px;
    font-size: 20px;
  }
  .ws-gate-grid {
    grid-template-columns: 1fr;
  }
  .ws-gate {
    padding: 25px;
  }
  .ws-gate h2 {
    font-size: 28px;
  }
  .ws-gate .ws-gate-footnote {
    margin-top: 15px;
  }
  .ws-validation-summary {
    gap: 12px;
  }
  .ws-validation-summary article {
    padding: 17px;
  }
  .ws-validation-summary h2 {
    font-size: 16px;
  }
  .ws-validation-summary p {
    font-size: 11px;
  }
  .ws-next-grid {
    grid-template-columns: 1fr;
  }
  .ws-audit-header > .ws-label {
    max-width: 130px;
    font-size: 9px;
  }
  .ws-entry-link {
    flex-wrap: wrap;
  }
  .ws-policy-link {
    flex-wrap: wrap;
  }
}
@media (max-width: 760px) {
  .ws-room-tabs {
    gap: 3px;
    padding: 4px;
    margin-bottom: 25px;
    border-radius: 10px;
  }
  .ws-room-tabs a {
    padding: 10px 7px;
    text-align: center;
    min-height: 64px;
    justify-content: center;
  }
  .ws-room-tabs strong {
    font-size: 11px;
    line-height: 1.4;
  }
  .ws-room-tabs span {
    font-size: 8px;
    line-height: 1.4;
  }
  .ws-workspace-heading,
  .ws-audit-header {
    display: block;
    margin-bottom: 24px;
  }
  .ws-workspace-heading h1 {
    font-size: 32px;
  }
  .ws-audit-header h1 {
    font-size: 33px;
  }
  .ws-workspace-heading > div > p:last-child,
  .ws-audit-header > div > p:last-child {
    font-size: 12px;
  }
  .ws-preview-controls {
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    margin-top: 17px;
  }
  .ws-preview-controls > .button {
    display: none;
  }
  .ws-preview-controls .quiet-button {
    font-size: 11px;
  }
  .ws-device,
  .phone-mode .ws-device {
    width: 100%;
    max-width: 100%;
    border: 1px solid #e2dccf;
    border-radius: 14px;
    box-shadow: none;
  }
  .ws-device-status,
  .ws-device-gesture,
  .phone-mode .ws-device-status,
  .phone-mode .ws-device-gesture {
    display: none;
  }
  .phone-mode .ws-screen {
    height: auto;
    overflow: visible;
    min-height: 0;
  }
  .ws-screen {
    min-height: 0;
    padding-bottom: 12px;
  }
  .ws-device-header {
    padding: 15px 18px;
  }
  .ws-device-header > span:first-child {
    font-size: 17px;
  }
  .ws-device-header > span > span {
    font-size: 10px;
  }
  .ws-device-header .ws-label {
    font-size: 9px;
  }
  .ws-welcome,
  .phone-mode .ws-welcome {
    padding: 25px 22px 0;
  }
  .ws-welcome h2,
  .phone-mode .ws-welcome h2 {
    font-size: 34px;
  }
  .ws-welcome p {
    font-size: 13px;
  }
  .ws-home-actions,
  .phone-mode .ws-home-actions {
    padding: 22px 19px 0;
  }
  .ws-big-action {
    padding: 17px 16px;
    gap: 11px;
    min-height: 86px;
  }
  .ws-big-action strong {
    font-size: 17px;
  }
  .ws-big-action small {
    font-size: 11px;
  }
  .ws-action-symbol {
    width: 27px;
  }
  .ws-your-stuff,
  .phone-mode .ws-your-stuff {
    margin: 20px 19px 0;
    padding: 18px 16px;
  }
  .ws-your-stuff > div {
    gap: 7px;
  }
  .ws-your-stuff .button {
    font-size: 10px;
    padding: 10px 11px;
  }
  .ws-screen-foot {
    padding-inline: 22px;
    font-size: 11px;
  }
  .ws-bottom-nav {
    padding: 10px 7px;
    gap: 2px;
  }
  .ws-bottom-nav a {
    font-size: 9px;
    min-height: 52px;
  }
  .ws-screen-head,
  .phone-mode .ws-screen-head {
    padding: 20px 22px 0;
  }
  .ws-screen-head h2 {
    font-size: 30px;
  }
  .ws-screen-head p {
    font-size: 13px;
  }
  .ws-method {
    font-size: 10px;
    min-height: 40px;
  }
  .ws-why {
    margin: 17px 20px 0;
    padding: 14px;
  }
  .ws-why p {
    font-size: 12px;
  }
  .ws-plan-choices,
  .ws-reflect-fields,
  .ws-notebook,
  .ws-notices,
  .phone-mode .ws-plan-choices,
  .phone-mode .ws-reflect-fields,
  .phone-mode .ws-notebook,
  .phone-mode .ws-notices {
    padding-left: 20px;
    padding-right: 20px;
  }
  .ws-plan-choice {
    padding: 14px;
    min-height: 75px;
  }
  .ws-plan-choice strong {
    font-size: 14px;
  }
  .ws-field-label {
    font-size: 13px;
  }
  .ws-device input,
  .ws-device select,
  .ws-device textarea,
  #app-dialog #ws-share-recipient {
    font-size: 16px;
  }
  .ws-primary {
    font-size: 12px;
  }
  .ws-small {
    font-size: 11px;
  }
  .ws-demo-warning,
  .phone-mode .ws-demo-warning {
    margin-left: 20px;
    margin-right: 20px;
    font-size: 10px;
    padding: 13px;
  }
  .ws-question label {
    font-size: 14px;
  }
  .ws-inline-why {
    min-height: 36px;
    padding-inline: 10px;
  }
  .ws-note,
  .ws-notice {
    padding: 18px 16px;
  }
  .ws-note-answer p {
    font-size: 14px;
  }
  .ws-note-answer h4 {
    font-size: 11px;
  }
  .ws-note-actions {
    gap: 6px;
  }
  .ws-note-actions button,
  .ws-notice-actions button {
    min-height: 42px;
    font-size: 11px;
    padding: 8px 10px;
  }
  .ws-note-actions button .icon {
    width: 12px;
  }
  .ws-notice h3 {
    font-size: 22px;
  }
  .ws-notice details {
    font-size: 12px;
  }
  .ws-notice details summary {
    min-height: 40px;
  }
  .ws-timer-card,
  .phone-mode .ws-timer-card {
    margin: 24px 20px;
    padding: 24px 15px;
  }
  .ws-timer {
    font-size: 64px;
  }
  .ws-duration button {
    min-height: 40px;
  }
  .ws-label {
    font-size: 9px;
  }
  .ws-decision-mark {
    display: none;
  }
  .ws-review-banner {
    padding: 17px;
    gap: 12px;
    margin: 20px 0;
  }
  .ws-review-banner p {
    font-size: 11px;
  }
  .ws-gate-grid {
    gap: 18px;
  }
  .ws-gate {
    padding: 24px 22px;
  }
  .ws-gate h2 {
    font-size: 28px;
  }
  .ws-gate p,
  .ws-gate ul {
    font-size: 13px;
  }
  .ws-gate h3 {
    font-size: 11px;
  }
  .ws-gate .ws-gate-owner,
  .ws-gate .ws-gate-footnote {
    font-size: 11px;
  }
  .ws-validation-summary {
    grid-template-columns: 1fr;
    gap: 12px;
  }
  .ws-validation-summary article {
    padding: 21px;
  }
  .ws-validation-summary h2 {
    font-size: 20px;
  }
  .ws-validation-summary p {
    font-size: 12px;
  }
  .ws-audit-header > .ws-label {
    margin-top: 17px;
    max-width: 100%;
  }
  .ws-file-list {
    grid-template-columns: 1fr;
  }
  .ws-file-list h3 {
    font-size: 13px;
  }
  .ws-file-list p {
    font-size: 13px;
  }
  .ws-file-list .ws-label {
    font-size: 10px;
  }
  .ws-review-table th,
  .ws-review-table td {
    padding: 16px 14px;
  }
  .ws-next-grid {
    gap: 20px;
  }
  .ws-next-grid h2 {
    font-size: 23px;
  }
  .ws-next-grid p {
    font-size: 13px;
  }
  .ws-open-questions {
    font-size: 13px;
  }
  .ws-entry-link {
    padding: 17px;
  }
  .ws-entry-link > .text-link {
    margin-left: 34px;
  }
  .ws-entry-link strong {
    font-size: 13px;
  }
  .ws-entry-link small {
    font-size: 11px;
  }
  .ws-family-note .section-head {
    flex-wrap: wrap;
  }
  .ws-share-note {
    padding: 13px;
    max-height: 220px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .ws-big-action {
    transition: none;
  }
  .ws-big-action:hover {
    transform: none;
  }
}
