/* Screen typography and responsive layout; keep the A4 print rules separate. */
@media screen {
 body {font-size:17px;line-height:1.7}
 .wrap {width:min(1500px,calc(100% - 48px))}
 .workspace {grid-template-columns:minmax(360px,440px) minmax(0,1fr);gap:24px}
 .workspace>* {min-width:0}
 label,summary,.checks label {font-size:16px;line-height:1.65}
 input:not([type=checkbox]),select,#purpose {font-size:16px;min-height:48px;height:auto;padding:11px 12px}
 input[type=checkbox] {width:19px;height:19px;flex-shrink:0;accent-color:#236b67}
 .checks label {gap:10px;margin:12px 0}
 .advanced {padding:14px}
 .primary {font-size:18px;min-height:56px;height:auto;padding:14px 10px}
 .sectionHeading h2 {font-size:21px;line-height:1.4}
 .smallNote {font-size:14px;line-height:1.7;color:#536970}
 .sectionHeading p,.viewHead .viewHint,.stats span,.dateBadge small,.tag,
 .star-meaning-section h4 span,.navRight a,footer {font-size:14px;line-height:1.6}
 .sectionHeading p,.sub,.facts span,.viewHead .viewHint,.stats span,.dateBadge small {color:#536970}
 .stats {gap:10px}
 .statCard {min-width:0;overflow-wrap:break-word}
 .stats strong {font-size:32px}
 .stats span {display:block;margin-top:5px}
 .viewHead h3 {font-size:19px;line-height:1.5}
 .printButton {font-size:15px;min-height:44px;padding:9px 14px}
 .empty p {font-size:16px}
 .day.excluded {opacity:1}
 .dayTitle {font-size:18px;line-height:1.55}
 .sub {font-size:15px;line-height:1.75}
 .dayTop {flex-wrap:wrap;gap:12px;padding:16px}
 .dateContent {flex:1 1 180px}
 .tag {white-space:normal;max-width:100%}
 .expand {font-size:16px;min-height:48px;line-height:1.6;padding:12px 16px}
 .dayDetails {padding:16px}
 .facts,.facts strong,.reason,.hours,.v24-critical,.work-evidence {font-size:16px;line-height:1.7}
 .facts {gap:14px 18px}
 .v24-critical {padding:13px 16px}
 .star-meaning-wrap {gap:16px}
 .star-meaning-section h4 {font-size:17px;padding:12px}
 .star-meaning-table,.public-hours {font-size:15px;line-height:1.7}
 .star-meaning-table th,.star-meaning-table td,.public-hours th,.public-hours td {padding:10px 9px}
 .star-table-scroll {max-height:440px;scrollbar-gutter:stable}
 .tu28-detail {font-size:17px;line-height:1.75;padding:17px}
 .tu28-detail h4 {font-size:19px;line-height:1.5}
 .tu28-detail dl {grid-template-columns:145px minmax(0,1fr);gap:12px 16px}
 .tu28-detail dd,.tu28-detail p {overflow-wrap:break-word}
 .tu28-detail dd {line-height:1.8}
 .public-detail h3 {font-size:19px;line-height:1.5}
 .brandSub {font-size:12px;letter-spacing:.7px}
 .nav {height:auto;min-height:83px;padding:12px 0}
 .navRight a {display:inline-block}
 a,button,input,select {touch-action:manipulation}
 @media(max-width:1280px) {.star-meaning-wrap {grid-template-columns:1fr}}
 @media(max-width:1100px) {
  .workspace {grid-template-columns:1fr}
  .overview {min-height:0}
  .star-meaning-wrap {grid-template-columns:repeat(2,minmax(0,1fr))}
 }
 @media(max-width:760px) {.star-meaning-wrap {grid-template-columns:1fr}}
 @media(max-width:640px) {
  body {font-size:16px}
  .wrap {width:calc(100% - 24px)}
  .panel {padding:16px}
  .workspace {gap:18px}
  .sectionHeading h2 {font-size:19px}
  .sectionHeading p {font-size:14px}
  .sectionHeading {align-items:flex-start}
  .brandSub {font-size:11px;letter-spacing:0}
  .nav {min-height:74px}
  .stats {gap:7px}
  .stats>div {padding:12px 6px}
  .stats span {font-size:13px}
  .stats strong {font-size:28px}
  .viewHead h3 {font-size:18px}
  .dayTop {padding:12px;gap:10px}
  .dateBadge {min-width:58px}
  .dayTitle {font-size:17px}
  .sub {font-size:15px}
  .tag {font-size:13px}
  .dayDetails {padding:12px}
  .tu28-detail {font-size:16px;padding:13px}
  .tu28-detail h4 {font-size:18px}
  .tu28-detail dl {grid-template-columns:1fr;gap:5px}
  .tu28-detail dd {margin:0 0 12px}
  .star-meaning-table {font-size:15px}
  .star-meaning-table th,.star-meaning-table td {padding:9px 7px}
  .public-hours th,.public-hours td {padding:9px 7px}
  .facts {grid-template-columns:1fr;gap:12px}
 }
 @media(max-width:390px) {
  .two {grid-template-columns:1fr}
  .panel {padding:13px}
  .sectionHeading {margin:-13px -13px 18px;padding:16px 13px}
  .dateContent {flex-basis:150px}
 }
}
