/* ---------- Generator pogody ---------- */
.tw-presets { margin-bottom: 14px; }
.tw-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.tw-cols { display: grid; grid-template-columns: minmax(0, 1fr) minmax(380px, 520px); gap: 16px; align-items: start; }
@media (max-width: 1100px) { .tw-cols { grid-template-columns: 1fr; } }
.tw-side { position: sticky; top: 10px; }
.tw-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 14px; }
.tw-wide { grid-column: 1 / -1; }
.tw-card { background: var(--surface); border: 1px solid var(--line); border-top: 2px solid var(--akc, var(--rust)); border-radius: 4px; padding: 10px 14px 6px; min-width: 0; }
.tw-card__h { display: flex; align-items: baseline; gap: 10px; margin-bottom: 8px; }
.tw-card__t { font-family: 'Oswald', sans-serif; font-size: 13px; letter-spacing: .18em; text-transform: uppercase; color: var(--bone); }
.tw-card__z { font-family: 'Consolas', monospace; font-size: 11px; color: var(--bone-dim); }
.tw-two { display: grid; grid-template-columns: 1fr 1fr; gap: 0 24px; }
@media (max-width: 760px) { .tw-two { grid-template-columns: 1fr; } }
.tw-switches { display: flex; gap: 26px; flex-wrap: wrap; margin-bottom: 10px; }
.tw-row { padding: 4px 0 10px; transition: opacity .15s; }
.tw-row.tw-dim { opacity: .45; }
.tw-row__h { display: flex; justify-content: space-between; gap: 10px; font-size: 14px; margin-bottom: 7px; }
.tw-row__l { color: var(--bone-dim); }
.tw-val { color: var(--bone); font-family: 'Consolas', monospace; font-size: 13px; }
.tw-slider { position: relative; padding: 7px 0; touch-action: none; }
.tw-track { position: relative; height: 6px; border-radius: 3px; background: var(--bg); border: 1px solid var(--line); cursor: pointer; margin: 0 7px; }
.tw-fill { position: absolute; top: 0; bottom: 0; border-radius: 3px; opacity: .75; pointer-events: none; }
.tw-band { position: absolute; top: -1px; bottom: -1px; border-radius: 3px; pointer-events: none; }
.tw-th { position: absolute; top: 50%; width: 16px; height: 16px; margin: -8px 0 0 -8px; border-radius: 50%; border: 2px solid #0d0d0b; cursor: grab; box-shadow: 0 0 0 1px rgba(255,255,255,.25); }
.tw-th:focus { outline: none; box-shadow: 0 0 0 3px rgba(224,138,79,.5); }
.tw-chart { width: 100%; height: auto; max-height: 280px; margin-bottom: 8px; background: var(--bg); border: 1px solid var(--line); border-radius: 3px; }
.tw-pt { cursor: ns-resize; }
.tw-prev { background: var(--bg); border: 1px solid var(--line); border-radius: 3px; padding: 8px 10px; font-family: 'Consolas', monospace; font-size: 12px; line-height: 1.5; max-height: 46vh; overflow: auto; white-space: pre; outline: none; }
.tw-prev:focus { border-color: var(--rust); }
.tw-ln.zm { background: rgba(224,138,79,.16); }
.x-t { color: #6fb3d2; } .x-a { color: #c792ea; } .x-v { color: #a3b54e; } .x-c { color: #6a6458; }
.tw-chk { display: flex; align-items: flex-start; gap: 8px; flex-wrap: wrap; padding: 5px 0; font-size: 13px; line-height: 1.45; }
.tw-chk__i { width: 18px; height: 18px; flex: none; border-radius: 50%; text-align: center; font-size: 11px; line-height: 18px; font-weight: 700; color: #0d0d0b; }
.tw-chk__t { flex: 1; min-width: 160px; white-space: pre-line; color: var(--bone-dim); }
.tw-chk--ok .tw-chk__i { background: var(--tl-ok); } .tw-chk--info .tw-chk__i { background: var(--tl-info); }
.tw-chk--uwaga .tw-chk__i { background: var(--tl-warn); } .tw-chk--blad .tw-chk__i { background: var(--tl-err); }
.tw-chk--blad .tw-chk__t { color: var(--bone); }
.tw-code { display: flex; gap: 10px; align-items: center; justify-content: space-between; background: var(--bg); border: 1px solid var(--line); border-radius: 3px; padding: 8px 10px; }
.tw-code code { font-size: 12px; color: var(--tl-ok); word-break: break-all; }
