/* lw-goal-builder.css: styles for lw-goal-builder.js. Everything is under .lw-gb or #lw-gb-print. Colors match the blog template. */
.lw-gb-section { margin: 34px 0; }
.lw-gb { box-sizing: border-box; margin: 14px 0; padding: 20px; background: #fff; border: 1px solid #E8DED1; border-radius: 12px; color: #1E2A4A; min-height: 1180px; }
@media (min-width: 720px) { .lw-gb { min-height: 920px; } }
.lw-gb *, .lw-gb *::before, .lw-gb *::after { box-sizing: border-box; }
.lw-gb-presets { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0 0 16px; }
.lw-gb-presetlabel { font-weight: 700; margin-right: 4px; }
.lw-gb button { font: inherit; cursor: pointer; }
.lw-gb button:focus-visible, .lw-gb input:focus-visible + span { outline: 3px solid #1E2A4A; outline-offset: 2px; }
.lw-gb-preset { min-height: 44px; padding: 0 14px; border: 1px solid #D95F45; background: #FFF4ED; color: #7A2B18; border-radius: 999px; font-weight: 700; font-size: 15px; }
.lw-gb-clear { background: #fff; border-color: #CFC7B9; color: #464646; }
.lw-gb-field { border: 0; margin: 0 0 14px; padding: 0; min-width: 0; }
.lw-gb-field legend, .lw-gb-baselinelabel { padding: 0; margin: 0 0 6px; font-weight: 700; font-size: 16px; display: block; }
.lw-gb-options { display: flex; flex-wrap: wrap; gap: 8px; }
.lw-gb-chip { position: relative; display: inline-flex; }
.lw-gb-chip input { position: absolute; opacity: 0; width: 100%; height: 100%; margin: 0; cursor: pointer; }
.lw-gb-chip span { display: inline-flex; align-items: center; min-height: 44px; padding: 8px 14px; border: 1px solid #CFC7B9; border-radius: 10px; background: #fff; font-size: 15px; line-height: 1.25; }
.lw-gb-chip input:checked + span { background: #1E2A4A; border-color: #1E2A4A; color: #fff; }
.lw-gb-baseline { width: 100%; min-height: 44px; padding: 8px 12px; border: 1px solid #CFC7B9; border-radius: 8px; font: inherit; }
.lw-gb-result { margin-top: 18px; padding: 16px; background: #FFF4ED; border: 1px solid #F2C9B8; border-radius: 10px; }
.lw-gb-h { margin: 0 0 8px; font-size: 18px; }
.lw-gb-sentence { margin: 0 0 12px; font-size: 18px; line-height: 1.5; color: #1E2A4A; }
.lw-gb-incomplete { color: #5b5b5b; }
.lw-gb-check { list-style: none; margin: 0 0 10px; padding: 0; display: grid; gap: 6px; }
.lw-gb-check li { font-size: 15px; line-height: 1.4; }
.lw-gb-mark { display: inline-block; width: 1.3em; font-weight: 800; }
.lw-gb-done .lw-gb-mark { color: #1F6B45; }
.lw-gb-todo .lw-gb-mark { color: #8A5A00; }
.lw-gb-status { margin: 0 0 12px; font-size: 15px; color: #464646; }
.lw-gb-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.lw-gb-action { min-height: 48px; padding: 0 22px; border: 0; border-radius: 8px; background: #BE4327; color: #fff; font-weight: 800; }
.lw-gb-secondary { background: #fff; color: #1E2A4A; border: 1px solid #1E2A4A; }
.lw-gb-action:disabled { opacity: .5; cursor: not-allowed; }
.lw-gb-copynote { font-size: 14px; color: #1F6B45; font-weight: 700; }
.lw-gb-disclaimer { margin: 14px 0 0; font-size: 14px; color: #5b5b5b; }
#lw-gb-print { display: none; }
/* The builder's controls are not printed with the article. Only while the Print button is printing the draft goal
   (the class is added and removed by lw-goal-builder.js) does the page print the goal sheet instead of the article. */
@media print {
  html:not(.lw-gb-printing) .lw-gb { display: none !important; }
  html.lw-gb-printing body > *:not(#lw-gb-print) { display: none !important; }
  html.lw-gb-printing #lw-gb-print { display: block !important; max-width: 640px; margin: 24px auto; font: 16px/1.5 Georgia, serif; color: #000; }
  html.lw-gb-printing #lw-gb-print h1 { font-size: 22px; margin: 0 0 12px; }
  html.lw-gb-printing #lw-gb-print .lw-gb-print-goal { font-size: 18px; }
  html.lw-gb-printing #lw-gb-print .lw-gb-print-src { margin-top: 24px; font-size: 12px; color: #444; }
}
@media (prefers-reduced-motion: reduce) { .lw-gb * { transition: none !important; } }
