h1{font-size:clamp(28px,4vw,44px)}.screen{background:#fff;border:1px solid #ccd5dc;border-top:4px solid #254a63;padding:20px;margin:20px 0}.screen-modes,.screen-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.screen-modes button[aria-pressed=true]{background:#254a63;color:white}.screen-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.screen label{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:600}.screen input,.screen select{font:inherit;font-size:16px;padding:10px;border:1px solid #adb9c4;border-radius:4px;min-width:0;background:white;color:#202e39}.screen-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:20px 0}.screen-stats div{font-size:14px;color:#455567}.screen-stats strong{display:block;font-size:28px;color:#18384e;font-variant-numeric:tabular-nums}.screen-actions span,.screen-note{font-size:14px;color:#526172;line-height:1.6}.register-scroll{overflow:auto;max-height:540px;border:1px solid #d3dce3}.register-scroll table{margin:0;min-width:1050px}.register-scroll thead{position:sticky;top:0;background:#e8edf1;z-index:1}.project-open{background:none;border:0;text-align:left;font-size:14px;color:#164e70;text-decoration:underline;padding:0;cursor:pointer;min-width:160px}.market-map{margin:24px 0}.market-map>summary{font-size:18px;font-weight:700;cursor:pointer;padding:12px 0}.screen button{font-size:14px}dialog{width:min(740px,90vw);max-height:85vh;overflow:auto;border:1px solid #aebcc7;border-radius:8px;padding:26px;color:#203342;background:#fff}dialog::backdrop{background:#10233099}dialog h2{font-size:24px;text-transform:none;letter-spacing:0}dialog h3{margin-top:24px}dialog p,dialog dd{font-size:16px;line-height:1.6}dialog dt{font-size:14px;color:#53677a;margin-top:14px}dialog dd{margin:0;font-weight:600}dialog a{display:block;margin:12px 0}#dialog-close{float:right}button:focus-visible,select:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #1678ac;outline-offset:3px}@media(max-width:640px){.screen-controls{grid-template-columns:1fr 1fr}.screen{padding:14px}.screen-stats{grid-template-columns:1fr 1fr}.screen-modes b{width:100%}.screen-modes button{flex:1}.screen-actions span{width:100%}}

#cards .s2{font-size:clamp(24px,2.2vw,34px);line-height:1.15;margin:10px 0 5px;letter-spacing:-.025em}#cards .capacity-basis{font-size:14px;font-weight:600;color:#38566b;line-height:1.4;margin-bottom:10px}#cards .capacity-secondary{font-size:14px;color:#526373;line-height:1.45;margin-top:6px}#cards .s3{font-size:15px}

/* Shared sizing contract: controls cannot determine the width of a grid track. */
.screen-controls>*{min-width:0}.screen input,.screen select{width:100%;max-width:100%}
.screen{border-radius:12px}.screen-modes b{flex-basis:100%;font-size:18px;margin-bottom:4px}
.screen-modes button{min-height:44px}.screen-modes button[aria-pressed=true]{border-color:#254a63}
nav[aria-label="Tracker sections"] a{color:#254a63;text-decoration:none;min-height:44px;display:inline-flex;align-items:center;padding:8px 12px;border:1px solid #ccd5dc;border-radius:8px;background:#fff;font-size:14px}
nav[aria-label="Tracker sections"] a[aria-current=page]{background:#254a63;color:#fff}
@media(max-width:640px){
 .wrap{padding:20px 16px calc(40px + env(safe-area-inset-bottom))}
 nav[aria-label="Tracker sections"]{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px!important}
 nav[aria-label="Tracker sections"] a{font-size:13px;line-height:1.35;overflow-wrap:anywhere}
 .screen{padding:16px;margin:18px 0}.screen-controls{grid-template-columns:minmax(0,1fr);gap:16px}
 .screen-modes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.screen-modes b{grid-column:1/-1}
 .screen-modes button{border-radius:8px;min-height:52px;padding:10px;line-height:1.3}
 #screen-guidance{font-size:15px;line-height:1.5}.screen label{font-size:14px}
 .screen input,.screen select{min-height:48px}.screen-stats{gap:16px;padding:20px 0}.screen-stats div{min-width:0;line-height:1.4}
 .screen-stats strong{font-size:26px}.screen-actions button{width:100%;min-height:44px}
 .ctl button,.chip{min-height:44px}.ctl{gap:8px}
 .register-scroll{max-height:650px;border:0;background:transparent;overscroll-behavior:contain}
 .register-scroll table,.register-scroll tbody{display:block;width:100%;min-width:0;background:transparent;border:0}
 .register-scroll thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
 .register-scroll tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:16px;margin-bottom:12px;background:#fff;border:1px solid #ccd5dc;border-radius:10px}
 .register-scroll td{display:block;min-width:0;border:0;padding:0;text-align:left;white-space:normal;overflow-wrap:anywhere}
 .register-scroll td:nth-child(2),.register-scroll td:nth-child(3){grid-column:1/-1}
 .register-scroll td:before{display:block;font-size:11px;font-weight:600;color:#526172;margin-bottom:4px}
 .register-scroll td:nth-child(1):before{content:'State'}.register-scroll td:nth-child(2):before{content:'Project'}
 .register-scroll td:nth-child(3):before{content:'Location'}.register-scroll td:nth-child(4):before{content:'Announced MW'}
 .register-scroll td:nth-child(5):before{content:'Estimated IT MW'}.register-scroll td:nth-child(6):before{content:'Reported investment'}
 .register-scroll td:nth-child(7):before{content:'Status'}.register-scroll td:nth-child(8):before{content:'Evidence label'}
 .project-open{min-width:0;min-height:44px;font-size:16px;line-height:1.4}
 dialog{width:calc(100% - 24px);max-width:none;padding:18px;max-height:calc(100dvh - 32px)}
 dialog h2{padding-right:10px}dialog a{overflow-wrap:anywhere}#dialog-close{min-height:44px}
 #cards .s2{font-size:24px}.card{min-width:0}.card .s1{overflow-wrap:anywhere}
}
@media(max-width:640px){.wrap table{display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.register-scroll table{overflow:visible}}
