/* All feature styling is scoped to the local outline tool. */
.proposal-tool,
.proposal-tool * {box-sizing: border-box;}
.proposal-tool {--proposal-green: #214c43;--proposal-paper: #f5f8f7;--proposal-orange: #a8432b;--proposal-line: #bacac3;--proposal-muted: #52675e;color: var(--proposal-green);background: var(--proposal-paper);border: 1px solid var(--proposal-line);border-radius: 8px;padding: clamp(20px,3vw,40px);font-family: var(--sans,"PingFang HK","PingFang TC",system-ui,sans-serif);font-size: 16px;line-height: 1.75;min-width: 0;}
.proposal-tool :is(p,h3,h4,pre,fieldset) {margin: 0;}
.proposal-tool h3 {font-size: clamp(23px,2.4vw,30px);font-weight: 600;line-height: 1.4;margin: 8px 0 12px;}
.proposal-tool h4 {font-size: 17px;font-weight: 600;line-height: 1.5;}
.proposal-tool p {line-height: 1.8;}
.proposal-tool .proposal-tool__eyebrow {font-size: 12px;letter-spacing: .06em;font-weight: 600;}
.proposal-tool .proposal-tool__intro>p:last-child {max-width: 46em;color: var(--proposal-muted);}
.proposal-tool .proposal-tool__boundary {margin: 24px 0 32px;padding: 16px 20px;border-left: 3px solid var(--proposal-orange);background: #e8efeb;font-size: 14px;}
.proposal-tool .proposal-tool__boundary strong {display: block;font-weight: 600;margin-bottom: 4px;}
.proposal-tool .proposal-tool__workspace {display: grid;grid-template-columns: minmax(0,1.05fr) minmax(0,.95fr);gap: clamp(24px,3vw,40px);align-items: start;}
.proposal-tool .proposal-tool__fields {display: grid;gap: 26px;min-width: 0;}
.proposal-tool fieldset {min-width: 0;padding: 0;border: 0;}
.proposal-tool legend,
.proposal-tool .proposal-tool__observation>label {display: block;width: 100%;padding: 0;margin: 0 0 12px;font-size: 16px;font-weight: 600;line-height: 1.65;}
.proposal-tool legend>span,
.proposal-tool .proposal-tool__observation>label>span {display: inline-block;margin-right: 10px;font-size: 12px;font-family: ui-monospace,"SFMono-Regular",Menlo,monospace;font-weight: 400;color: var(--proposal-muted);}
.proposal-tool .proposal-tool__options {display: grid;gap: 8px;}
.proposal-tool .proposal-tool__options--three {grid-template-columns: repeat(3,minmax(0,1fr));}
.proposal-tool .proposal-tool__options--seeds {grid-template-columns: repeat(2,minmax(0,1fr));}
.proposal-tool .proposal-tool__options--roles {grid-template-columns: 1fr;}
.proposal-tool .proposal-tool__option {display: flex;align-items: flex-start;gap: 10px;min-width: 0;min-height: 48px;padding: 12px;border: 1px solid var(--proposal-line);border-radius: 4px;background: #fff;cursor: pointer;font-size: 14px;line-height: 1.65;transition: border-color 120ms ease,background-color 120ms ease;}
.proposal-tool .proposal-tool__option input {flex: 0 0 auto;width: 17px;height: 17px;accent-color: var(--proposal-green);margin: 3px 0 0;cursor: pointer;}
.proposal-tool .proposal-tool__option span {min-width: 0;overflow-wrap: anywhere;}
.proposal-tool .proposal-tool__option.is-selected {border-color: var(--proposal-green);background: #e5ede9;}
.proposal-tool .proposal-tool__option:hover {border-color: var(--proposal-green);}
.proposal-tool .proposal-tool__option:focus-within {outline: 3px solid var(--proposal-orange);outline-offset: 3px;}
.proposal-tool textarea[data-proposal-observation] {display: block;width: 100%;max-width: 100%;min-height: 132px;resize: vertical;border: 1px solid var(--proposal-line);border-radius: 4px;padding: 14px;background: #fff;color: var(--proposal-green);font: inherit;line-height: 1.8;}
.proposal-tool textarea[data-proposal-observation]::placeholder {color: #62766c;opacity: 1;}
.proposal-tool .proposal-tool__limit {display: flex;justify-content: space-between;gap: 12px;margin-top: 8px;color: var(--proposal-muted);font-size: 12px;}
.proposal-tool .proposal-tool__preview {min-width: 0;padding: 24px;background: #fff;border: 1px solid var(--proposal-line);border-radius: 4px;}
.proposal-tool .proposal-tool__preview-heading {display: grid;gap: 8px;padding-bottom: 18px;border-bottom: 1px solid var(--proposal-line);}
.proposal-tool .proposal-tool__preview-heading>span {font: 12px/1.7 ui-monospace,"SFMono-Regular",Menlo,monospace;color: var(--proposal-muted);overflow-wrap: anywhere;}
.proposal-tool pre[data-proposal-output] {padding: 20px 0;font: 14px/1.9 var(--sans,"PingFang HK","PingFang TC",system-ui,sans-serif);white-space: pre-wrap;overflow-wrap: anywhere;word-break: break-word;user-select: text;}
.proposal-tool .proposal-tool__actions {display: flex;flex-wrap: wrap;gap: 10px;}
.proposal-tool .proposal-tool__actions button {display: inline-flex;align-items: center;justify-content: center;min-width: 44px;min-height: 44px;padding: 10px 14px;border: 1px solid var(--proposal-green);border-radius: 4px;background: #fff;color: var(--proposal-green);font: 600 14px/1.5 var(--sans,"PingFang HK","PingFang TC",system-ui,sans-serif);cursor: pointer;}
.proposal-tool .proposal-tool__actions button[data-copy-proposal] {background: var(--proposal-green);color: #fff;}
.proposal-tool .proposal-tool__actions button[data-clear-proposal] {border-color: var(--proposal-line);font-weight: 400;}
.proposal-tool .proposal-tool__actions button:hover {text-decoration: underline;text-underline-offset: 4px;}
.proposal-tool .proposal-tool__feedback {margin-top: 16px;color: var(--proposal-muted);font-size: 13px;}
.proposal-tool .proposal-tool__template {display: grid;grid-template-columns: minmax(0,1fr) auto;gap: 24px;align-items: center;margin-top: 32px;padding-top: 24px;border-top: 1px solid var(--proposal-line);}
.proposal-tool .proposal-tool__template p {max-width: 46em;color: var(--proposal-muted);font-size: 14px;margin-top: 8px;}
.proposal-tool .proposal-tool__template>a {display: flex;flex-wrap: wrap;gap: 8px;align-items: center;justify-content: flex-start;min-height: 48px;max-width: 260px;padding: 12px 0;color: var(--proposal-green);font-size: 14px;font-weight: 600;text-decoration: underline;text-underline-offset: 4px;}
.proposal-tool .proposal-tool__template small {display: block;flex-basis: 100%;font-size: 12px;font-weight: 400;color: var(--proposal-muted);text-decoration: none;}
.proposal-tool :is(button,a,textarea,pre):focus-visible {outline: 3px solid var(--proposal-orange);outline-offset: 4px;}
.proposal-tool .proposal-tool__copy-buffer {position: fixed;left: 0;top: 0;width: 1px;height: 1px;padding: 0;border: 0;opacity: 0;pointer-events: none;}
@media(max-width: 850px) {
  .proposal-tool .proposal-tool__workspace {grid-template-columns: 1fr;}
  .proposal-tool .proposal-tool__preview {padding: 20px;}
  .proposal-tool .proposal-tool__template {grid-template-columns: 1fr;gap: 12px;}
}
@media(max-width: 480px) {
  .proposal-tool .proposal-tool__boundary {padding: 14px;margin: 20px 0 26px;}
  .proposal-tool .proposal-tool__options--seeds {grid-template-columns: 1fr;}
  .proposal-tool .proposal-tool__option {padding: 11px 10px;gap: 8px;}
  .proposal-tool .proposal-tool__preview {padding: 16px;}
  .proposal-tool .proposal-tool__actions {display: grid;grid-template-columns: 1fr;}
  .proposal-tool .proposal-tool__actions button {width: 100%;}
}
@media(prefers-reduced-motion: reduce) {
  .proposal-tool .proposal-tool__option {transition: none;}
}
