.tf-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;flex:1;min-height:0}.tf-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:14px;min-width:0;display:flex;flex-direction:column;justify-content:center}.tf-card header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;gap:8px}.tf-card h2{font-size:18px;margin:0}.tf-card header span{font-size:11px;color:var(--muted)}.tf-card table{width:100%;border-collapse:collapse;table-layout:fixed;text-align:center;font-size:14px}.tf-card th{font-size:11px;color:var(--muted);padding:4px 0}.tf-card td{padding:7px 0;border-top:1px solid var(--border);white-space:nowrap}.tf-card th:first-child{width:26%}.tf-card th:last-child{width:25%}.tf-card small{font-size:9px;margin-left:2px}.tf-wind{color:#9333ea;font-weight:700}.tf-temp{color:#ea580c;font-weight:700}.tf-board:fullscreen .tf-grid{grid-template-rows:repeat(4,minmax(0,1fr))}.tf-board:fullscreen .tf-card{padding:10px 14px}.tf-board:fullscreen .tf-card td{padding:5px 0}@media(max-width:1400px){.tf-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.tf-board:fullscreen{overflow:auto}}@media(max-width:1000px){.tf-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.tf-grid{grid-template-columns:1fr}.tf-board:fullscreen .tf-grid{grid-template-rows:none}}
.tf-board .tf-card{padding:18px 16px;box-sizing:border-box}.tf-board .tf-card header{margin-bottom:12px}.tf-board .tf-card table{background:transparent}.tf-board .tf-card table td.tf-wind{color:#a855f7!important;font-weight:700;font-size:16px}.tf-board .tf-card table td.tf-temp{color:#f97316!important;font-weight:700;font-size:16px}.tf-board .tf-card table td{padding:6px 0}.tf-board .tf-card table th:first-child{width:18%}.tf-board .tf-card table th:last-child{width:27%}.tf-board:fullscreen .tf-card{padding:14px 16px}.tf-board:fullscreen .tf-card header{margin-bottom:8px}.tf-board:fullscreen .tf-card table td{padding:4px 0}.tf-board:fullscreen .tf-card table th{padding:4px 0}.tf-board .tf-card table tbody tr:last-child td{border-bottom:0}@media(max-width:600px){.tf-board .tf-card header{flex-wrap:wrap}}
