*{box-sizing:border-box}body{margin:0;background:#eef3f8;color:#192e49;font-family:system-ui,-apple-system,Segoe UI,sans-serif;line-height:1.5}header{background:#112a47;color:white;padding:28px 4vw 30px;border-bottom:5px solid #43d7b0}.brand{font-size:12px;letter-spacing:2px;font-weight:800}.brand span{float:right;color:#9ed9eb}h1{font-size:clamp(30px,4vw,48px);margin:12px 0 4px;letter-spacing:-1.5px}.spark{color:#55ddba}header p{margin:0;color:#c3d6e8}main{max-width:1600px;margin:auto;padding:24px}.objective{background:white;border-left:5px solid #08a587;padding:15px 20px;border-radius:10px}.objective strong{margin-right:12px}.objective small{display:block;color:#586b80}nav{display:flex;gap:10px;flex-wrap:wrap;margin:22px 0}button{border:0;background:#1763b1;color:white;padding:12px 16px;border-radius:9px;font:inherit;font-weight:700;cursor:pointer;min-height:44px}button:hover{filter:brightness(.94)}nav button{background:#dce6f0;color:#29415d}nav .active{background:#112a47;color:white}.workspace{display:grid;grid-template-columns:260px minmax(350px,1fr) 280px;gap:18px;align-items:start}.card{background:white;border:1px solid #dce5ef;border-radius:16px;padding:20px;box-shadow:0 6px 22px #142f4710}h2{font-size:20px;margin:0 0 16px}h3{font-size:16px;margin:22px 0 8px}p{font-size:14px}label{display:block;font-size:14px;font-weight:650;margin:12px 0}select,input[type=number],textarea{width:100%;padding:10px;border:1px solid #9eafc1;border-radius:7px;font:inherit;background:white;color:#192e49}input[type=range]{width:100%;accent-color:#1763b1;margin-top:10px}output{float:right;color:#1465b6}textarea{min-height:110px;resize:vertical;font-weight:400}.secondary{background:#edf2f7;color:#244261;border:1px solid #b7c9da;margin-top:8px}aside button{width:100%}.rule{background:#e9f5ff;color:#134c85;padding:12px;border-radius:9px;font-weight:750;margin-top:18px}.graphhead{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.graphhead div{font-size:12px}.blue{color:#1566b8}.pink{color:#bc2766}svg{width:100%;display:block;touch-action:none}svg text{font-family:system-ui;pointer-events:none}.hint{font-size:12px;color:#526980}.check{font-weight:400}.pair{display:flex;gap:12px}.pair label{flex:1;min-width:0}table{border-collapse:collapse;width:100%;font-size:13px}th,td{text-align:left;padding:8px;border-bottom:1px solid #dfe7ef}td input[type=number]{padding:5px;min-width:55px}#coords table{table-layout:fixed}#coords th:first-child{width:40px}#metrics p{border-bottom:1px solid #e5edf4;padding-bottom:10px}#feedback,#challengeFeedback{min-height:45px;font-weight:650}.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}.tile{background:#f1f6fb;border-radius:12px;padding:20px}.tile h3{margin-top:0}.tile button{margin-top:10px}footer{text-align:center;font-size:12px;color:#526780;margin-top:28px;padding:20px}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #e4a313;outline-offset:3px}[hidden]{display:none!important}@media(max-width:1150px){.workspace{grid-template-columns:240px 1fr}.workspace>aside:last-child{grid-column:1/-1}}@media(max-width:700px){main{padding:12px}.workspace{display:flex;flex-direction:column}.workspace>*{width:100%}.brand span{display:block;float:none;margin-top:8px}.card{padding:15px}nav button{flex:1}th,td{padding:6px}header{padding:22px}}

.move-buttons{display:grid;grid-template-columns:1fr 1fr;gap:8px}.move-buttons button{padding:10px 6px;margin:0}.move-buttons button:disabled{opacity:.45;cursor:default}#shiftSummary{background:#eff8f5;border-radius:8px;padding:10px;color:#155b4d;font-weight:650}

.move-buttons button[aria-pressed="true"]{background:#123852;box-shadow:inset 0 0 0 2px #42d8b1}
