.weather-page { width: calc(100% - 32px); max-width: none; }
.weather-page .internal-card { min-width: 0; }
.weather-responses { width: 100%; max-width: 100%; }
.weather-responses table { table-layout: fixed; width: 100%; }
.weather-responses th, .weather-responses td {
  min-width: 0;
  overflow-wrap: anywhere;
  font-size: .88rem;
}
.weather-responses th { padding: 12px; z-index: 1; }
.weather-responses td { position: relative; padding: 0; }
.weather-cell { height: 144px; padding: 10px 12px; overflow: auto; }
.weather-column-resize, .weather-row-resize {
  display: block;
  position: absolute;
  touch-action: none;
  user-select: none;
  border-radius: 3px;
}
.weather-column-resize { right: 0; top: 0; height: 100%; width: 10px; cursor: col-resize; border-right: 2px solid #8296a8; }
.weather-row-resize { left: 0; bottom: 0; width: 100%; height: 10px; cursor: row-resize; border-bottom: 2px solid #8296a8; }
.weather-column-resize:hover, .weather-row-resize:hover,
.weather-column-resize:focus-visible, .weather-row-resize:focus-visible { background: var(--primary-orange); outline: 2px solid #fff; outline-offset: -2px; }
.weather-summary-table { table-layout: fixed; }
.weather-summary-table th, .weather-summary-table td { overflow-wrap: anywhere; }
@media (max-width: 600px) {
  .weather-page { width: calc(100% - 16px); }
  .weather-page .internal-card { padding: 12px; }
  .weather-responses th { padding: 10px 6px; }
  .weather-cell { padding: 8px 6px; }
}
.weather-tabs {margin:24px 0}.weather-tabs [aria-pressed="true"] {background:#ba5b16;color:white}
#weather-form fieldset {border:0;padding:0;margin:0;min-width:0}
.weather-page label {display:block;margin:14px 0 7px;font-weight:600}.weather-page input,.weather-page select,.weather-page textarea {display:block;width:100%;max-width:100%;box-sizing:border-box;padding:12px;border:1px solid #8f9daa;border-radius:8px;background:#142537;color:#fff;font:inherit}
.weather-page select {width:auto;min-width:160px}.weather-page option {background:#142537;color:#fff}.weather-page textarea {resize:vertical}
.weather-wheel-layout {display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,1fr);gap:24px;align-items:start;margin-bottom:24px}
#weather-wheel {background:transparent;border-radius:18px;overflow:hidden;max-width:900px}#weather-wheel svg {display:block;width:100%;height:auto;touch-action:manipulation}
#weather-wheel [data-emotion] {cursor:pointer}#weather-wheel [data-emotion]:hover path,#weather-wheel [data-emotion].selected path {stroke:#172f42;stroke-width:6}
#weather-lens {background:#102535;border-radius:12px;overflow:hidden;aspect-ratio:1.5;max-height:260px;margin-bottom:16px}#weather-lens svg {width:100%;height:100%;display:block;pointer-events:none}
.weather-selection {position:sticky;top:16px}.weather-selection select {width:100%}.weather-selection button {margin-top:12px}
.weather-ratings {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.weather-ratings select {width:100%}
.weather-question-heading {display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px}.weather-filters {align-items:end;gap:16px}
#weather-counselor {border-left:4px solid #ffb35c;padding:10px 16px;margin-top:16px}#weather-counselor a {color:#ffce8e;text-decoration:underline}
#weather-builder {max-width:600px;width:calc(100% - 56px);max-height:85vh;overflow:auto;background:#132a3c;color:#fff;border:1px solid #8396a6;border-radius:16px;padding:24px}#weather-builder::backdrop {background:#0009}#weather-builder label {display:block;margin-top:14px}#weather-builder input,#weather-builder textarea {box-sizing:border-box;display:block;width:100%;font:inherit;padding:10px;margin-top:5px;background:#fff;color:#132a3c;border-radius:6px}
#weather-admin-tools details {margin-top:20px}#weather-admin-tools input {max-width:280px}#weather-admin-tools button {margin-top:12px}
#weather-submit-status,#weather-confirm-status {min-height:1.5em}#weather-export-status a {display:inline-block;margin:10px 20px 10px 0;text-decoration:underline}
@media(max-width:800px){.weather-wheel-layout,.weather-ratings{grid-template-columns:1fr}.weather-selection{position:static}#weather-lens{max-width:360px}.weather-question-heading{display:block}.weather-tabs{flex-wrap:wrap}}

#weather-lens {display:grid;place-items:center;color:#17364b;text-align:center}#weather-lens p {padding:24px;font-size:1rem}#weather-emotion-help {max-width:115ch;line-height:1.6;margin-bottom:20px}
.weather-gauge svg {width:min(100%,280px)}

.weather-wheel-stage{position:relative;max-width:900px;isolation:isolate}
#weather-lens{position:absolute;z-index:2;width:200px;height:160px;aspect-ratio:auto;max-height:none;margin:0;border:3px solid #17364b;border-radius:50%;box-shadow:0 4px 20px #0006;pointer-events:none;overflow:hidden}
#weather-lens[hidden]{display:none}
#weather-preview-counselor {margin:20px 0;padding:12px 16px;border-left:4px solid #ffb35c;background:#142d40;border-radius:8px}
#weather-preview-counselor a {color:#ffce8e;text-decoration:underline;display:inline-block;margin-top:8px}
#weather-preview-counselor a[hidden] {display:none}

/* Student-chosen next steps: native modal with accessible, illustrated options. */
dialog.weather-next-steps{box-sizing:border-box;width:min(1000px,calc(100% - 32px));max-height:90dvh;margin:auto;padding:0;overflow:auto;overscroll-behavior:contain;border:1px solid #b6cdc4;border-radius:20px;background:#f4faf7;color:#183b35;box-shadow:0 24px 100px #0008;overflow-wrap:anywhere}dialog.weather-next-steps::backdrop{background:#061723b8;backdrop-filter:blur(4px)}.weather-options-header{position:sticky;top:0;z-index:2;background:#f4faf7;padding:24px 68px 16px 24px;border-bottom:1px solid #d5e3dc}.weather-options-eyebrow{font-size:.72rem;letter-spacing:.14em;font-weight:800;color:#467064}#weather-next-steps #weather-next-title{font-size:1.5rem;line-height:1.2;margin:8px 0 10px;color:#173e35}#weather-next-intro{margin:0;font-size:.95rem}.weather-options-body{padding:20px 24px}.weather-option-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.weather-connection-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px}.weather-option-card{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:18px;border:1px solid #d1e1d9;border-radius:14px;background:#fff;min-width:0}.weather-option-icon{display:grid;place-items:center;width:42px;height:42px;flex:0 0 42px;border-radius:12px;background:#e2f1e9;color:#24634d}.weather-option-icon svg{width:25px;height:25px}.weather-option-card h3{font-size:1.05rem;line-height:1.3;color:#183b35;margin:0}.weather-option-card p{font-size:.93rem;margin:0;line-height:1.5}.weather-option-card a,.weather-option-card button,.weather-option-note{margin-top:auto}.weather-option-note{font-size:.8rem;color:#587066}.weather-next-steps a{color:#135d53;text-decoration:underline;text-underline-offset:3px}.weather-option-card a{font-size:.88rem;font-weight:700}.weather-next-steps button{font-size:.9rem}.weather-option-card button{padding:10px 12px}#weather-next-steps #weather-counselor{border:1px solid #d1e1d9;margin:0;padding:18px}#weather-next-steps #weather-counselor a{color:#135d53}#weather-next-steps .internal-muted{color:#405c57;font-size:.85rem}#weather-next-steps details{font-size:.85rem;margin-top:14px}#weather-next-steps #weather-support-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 20px;margin:20px 0 8px;padding:16px;border:1px solid #9bbdb0;border-radius:10px;background:#edf6f1}#weather-support-choices>p,#weather-support-choices>button{grid-column:1/-1}#weather-support-choices>button{justify-self:start}#weather-next-steps fieldset label{display:flex;align-items:center;gap:10px;margin:10px 0;font-size:.93rem}#weather-next-steps input[type=checkbox]{width:20px;height:20px;flex:0 0 20px}.weather-options-footer{position:sticky;bottom:0;background:#f4faf7;border-top:1px solid #d5e3dc;padding:14px 24px;display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:.85rem;color:#405c57}#weather-options-close{position:absolute;right:18px;top:18px;width:36px;height:36px;padding:0;border-radius:50%;font-size:1.1rem}#weather-options-continue{white-space:nowrap}.weather-next-steps :focus-visible{outline:3px solid #b86b20;outline-offset:3px}.weather-selection{min-width:0}
@media(max-width:650px){.weather-option-grid,.weather-connection-grid{grid-template-columns:1fr}.weather-options-header{padding:20px 62px 16px 18px}.weather-options-body{padding:16px 18px}.weather-options-footer{padding:12px 18px;flex-wrap:wrap}#weather-next-steps #weather-next-title{font-size:1.25rem}dialog.weather-next-steps{width:calc(100% - 20px);max-height:94dvh;border-radius:15px}#weather-next-steps #weather-support-choices{grid-template-columns:1fr}}
/* Front: themed icon + label. Back: optional actions and resource links. */
.weather-option-card.weather-flip-card{display:block;padding:0;border:0;background:transparent;perspective:1200px;min-height:225px}.weather-flip-inner{position:relative;min-height:inherit;height:100%;transform-style:preserve-3d;transition:transform .4s ease}.weather-flip-card.is-flipped .weather-flip-inner{transform:rotateY(180deg)}#weather-next-steps .weather-card-front,.weather-card-back{position:absolute;inset:0;box-sizing:border-box;border:1px solid #d1e1d9;border-radius:14px;background:#fff;color:#183b35;backface-visibility:hidden;-webkit-backface-visibility:hidden}#weather-next-steps .weather-card-front{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;width:100%;height:100%;margin:0;padding:22px;text-align:center;cursor:pointer;font:inherit}#weather-next-steps .weather-card-front:hover{border-color:#6a9e88;background:#fafffc}.weather-card-front .weather-option-icon{width:62px;height:62px;flex-basis:62px;border-radius:18px}.weather-card-front .weather-option-icon svg{width:36px;height:36px}.weather-card-label{font-size:1.06rem;font-weight:750;line-height:1.3}.weather-card-hint{font-size:.75rem;color:#58766a}.weather-flip-card.is-flipped .weather-card-front{pointer-events:none}.weather-card-back{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:18px;transform:rotateY(180deg);overflow:auto}.weather-card-back>p{margin:0;font-size:.9rem;line-height:1.45}.weather-card-back>h3{margin:0}.weather-card-back>a,.weather-card-back>.weather-option-note{margin-top:auto}.weather-card-back .weather-card-return{font-size:.75rem;padding:5px 8px;background:transparent;color:#305d4d;border:0;margin:0;align-self:flex-end}#weather-next-steps #weather-counselor.weather-flip-card{padding:0;border:0;background:transparent}.weather-options-footer{display:grid;grid-template-columns:1fr auto}.weather-source-note{grid-column:1/-1;margin:0;font-size:.72rem;line-height:1.45;color:#557065}.weather-source-note a{color:#426a5b;font-weight:500}.weather-options-footer .weather-source-note{margin:0}.weather-connection-grid .weather-flip-card{min-height:195px}
@media(max-width:650px){.weather-option-card.weather-flip-card{min-height:225px}.weather-card-front .weather-option-icon{width:52px;height:52px;flex-basis:52px}.weather-options-footer{grid-template-columns:1fr}.weather-source-note{grid-column:1}.weather-options-footer>button{justify-self:start}}
@media(prefers-reduced-motion:reduce){.weather-flip-inner{transition:none}}
/* Give the wheel the available screen width, with its answer directly below. */
.weather-wheel-layout{grid-template-columns:minmax(0,1fr);gap:18px}#weather-wheel{width:100%;max-width:none;border-radius:0}.weather-selection{position:static;width:100%}.weather-wheel-credit{cursor:pointer}.weather-wheel-credit text{opacity:.85}.weather-wheel-credit:hover text,.weather-wheel-credit:focus text{opacity:1;text-decoration:underline}.weather-wheel-credit:focus{outline:none}.weather-wheel-credit:focus text{stroke:#fff;stroke-width:.2}.weather-card-label{font-size:clamp(1.25rem,2vw,1.65rem);line-height:1.25}.weather-card-back>h3{font-size:1.2rem}.weather-card-back>p{font-size:1.05rem;line-height:1.5}.weather-card-back>a,.weather-card-back>button:not(.weather-card-return){font-size:1rem}.weather-option-card.weather-flip-card{min-height:280px}.weather-connection-grid .weather-flip-card{min-height:260px}.weather-options-footer{grid-template-columns:1fr}.weather-options-footer>#weather-options-continue{justify-self:end}
.weather-options-body>.weather-source-note{display:block;margin:16px 0 8px;font-size:.78rem;line-height:1.5}.weather-options-footer>#weather-options-continue{justify-self:end}
.weather-wheel-stage{width:100%;max-width:none}

/* Show the supplied wordmark without its transparent canvas margins. */
.weather-options-wordmark{display:block;position:relative;width:120px;aspect-ratio:1661/583;overflow:hidden;margin:0 0 14px}.weather-options-wordmark>img{position:absolute;width:115.593%;height:auto;max-width:none;left:-6.261%;top:-18.525%}
@media(max-width:650px){.weather-options-wordmark{width:104px;margin-bottom:12px}}

/* Keep the circular wheel within both the page width and the visible screen height. */
.weather-wheel-stage{width:min(100%,calc(100dvh - 64px));margin-inline:auto}#weather-wheel svg{max-height:calc(100dvh - 64px)}
/* Recipient choices extend the support card, keeping its context and Back control together. */
.weather-connection-grid{align-items:start}.weather-flip-card.support-expanded{min-height:260px}.weather-flip-card.support-expanded .weather-flip-inner{transform:none}.support-expanded .weather-card-front{display:none!important}.support-expanded .weather-card-back{position:relative;transform:none;overflow:visible;min-height:260px}
#weather-support-panel{width:100%;box-sizing:border-box}#weather-next-steps #weather-support-choices{grid-template-columns:1fr;margin-top:4px;padding:12px}#weather-support-choices>p{margin:0;font-size:.9rem}#weather-support-choices>button{max-width:100%;white-space:normal;text-align:left}#weather-support-panel .internal-muted{margin:12px 0 0;line-height:1.5}#weather-support-status{font-size:.9rem;line-height:1.5}

/* Fit the five initial choices into the first view; details scroll within a flipped card. */
.weather-options-header{padding:14px 64px 12px 20px}.weather-options-wordmark{display:inline-block;width:88px;margin:0 14px 0 0;vertical-align:middle}.weather-options-eyebrow{vertical-align:middle}#weather-next-steps #weather-next-title{font-size:1.3rem;margin:8px 0 6px}#weather-next-intro{font-size:.9rem;line-height:1.35}.weather-options-body{padding:12px 20px}.weather-option-grid,.weather-connection-grid{gap:10px}.weather-connection-grid{margin-top:10px}.weather-option-card.weather-flip-card{min-height:clamp(112px,calc((100dvh - 320px)/2),190px)}#weather-next-steps .weather-card-front{padding:12px;gap:8px}.weather-card-front .weather-option-icon{width:42px;height:42px;flex-basis:42px;border-radius:12px}.weather-card-front .weather-option-icon svg{width:26px;height:26px}.weather-card-label{font-size:clamp(1.05rem,1.8vw,1.35rem);line-height:1.2}.weather-card-hint{font-size:.7rem}.weather-card-back{padding:12px;gap:8px}.weather-card-back>h3{font-size:1.05rem}.weather-card-back>p{font-size:.95rem;line-height:1.4}.weather-card-back>a,.weather-card-back>button:not(.weather-card-return){font-size:.9rem}.weather-options-body>.weather-source-note{margin:10px 0 0;font-size:.72rem;line-height:1.4}.weather-options-footer{padding:10px 20px}.weather-flip-card.support-expanded{min-height:260px}
@media(max-width:650px){
 .weather-options-header{padding:12px 54px 10px 14px}.weather-options-wordmark{width:76px;margin-right:10px}.weather-options-eyebrow{font-size:.65rem}#weather-next-steps #weather-next-title{font-size:1.15rem}.weather-options-body{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:10px 14px}.weather-option-grid,.weather-connection-grid{display:contents}#weather-support-card,.weather-options-body>.weather-source-note{grid-column:1/-1}.weather-option-card.weather-flip-card{min-height:clamp(96px,calc((100dvh - 370px)/3),148px)}#weather-next-steps .weather-card-front{padding:8px;gap:6px}.weather-card-front .weather-option-icon{width:32px;height:32px;flex-basis:32px;border-radius:9px}.weather-card-front .weather-option-icon svg{width:22px;height:22px}.weather-card-label{font-size:1.05rem}.weather-card-hint{display:none}.weather-options-body>.weather-source-note{margin-top:2px;font-size:.68rem}.weather-options-footer{padding:8px 14px}.weather-flip-card.support-expanded{min-height:260px}
}
@media(max-height:620px) and (min-width:651px){.weather-card-hint{display:none}.weather-options-header{padding-top:10px;padding-bottom:8px}.weather-options-wordmark{width:72px}#weather-next-steps #weather-next-title{font-size:1.15rem}.weather-card-front .weather-option-icon{width:32px;height:32px;flex-basis:32px}.weather-card-front .weather-option-icon svg{width:22px;height:22px}}

/* Themed sentence starters stay editable in the student's own words. */
#weather-builder{box-sizing:border-box;max-width:820px;width:calc(100% - 28px);max-height:92dvh;padding:20px}#weather-builder h2{margin:0 0 8px}#weather-builder-help{margin:0 0 14px;line-height:1.5;font-size:.95rem}.weather-builder-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.weather-builder-part{min-width:0;padding:12px;border:1px solid #617b8e;border-radius:10px;background:#193448}#weather-builder .weather-builder-part label{margin:0 0 8px;font-weight:700}#weather-builder select{box-sizing:border-box;display:block;width:100%;min-height:42px;padding:8px;font:inherit;font-size:.9rem;background:#fff;color:#132a3c;border:1px solid #8396a6;border-radius:6px}#weather-builder input,#weather-builder textarea{margin-top:8px;border:1px solid #8396a6;font-size:1rem}#weather-builder textarea{min-height:76px;resize:vertical}.weather-builder-draft{margin-top:14px;padding:12px;border-radius:10px;background:#0e2232}.weather-builder-draft h3{margin:0 0 6px;font-size:.85rem;color:#ffce8e}#weather-builder-preview{margin:0;line-height:1.5;min-height:1.5em;overflow-wrap:anywhere}.weather-builder-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}#weather-builder :focus-visible{outline:3px solid #ffce8e;outline-offset:2px}
@media(max-width:600px){#weather-builder{padding:16px}.weather-builder-fields{grid-template-columns:1fr}.weather-builder-part{padding:10px}}

.weather-builder-need-controls{display:grid;grid-template-columns:80px minmax(0,1fr);gap:8px}

/* Let leaders choose the visible log columns without crowding the response table. */
.weather-column-settings{margin:14px 0;padding:12px 14px;border:1px solid #617b8e;border-radius:10px;background:#132d40}.weather-column-settings>summary{font-weight:700;cursor:pointer}#weather-column-choices{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px 18px;margin:14px 0;padding:12px;border:1px solid #617b8e;border-radius:8px}#weather-column-choices legend{padding:0 6px}#weather-column-choices label{display:flex;align-items:center;gap:8px;font-size:.9rem}#weather-column-choices input{width:18px;height:18px;flex:0 0 18px}.weather-column-settings>p{font-size:.85rem;margin:10px 0 0}.weather-responses table[hidden]{display:none}
