/* First Numbers Table activity. Uses the shared BtN colours and type. */
.gp-room{padding-bottom:64px}
.gp-room-heading{display:flex;gap:26px;align-items:center;margin-bottom:38px}
.gp-room-heading .room-icon{width:105px;height:105px;flex:none;margin:0}
.gp-room-heading h1{font-size:clamp(30px,4vw,43px)}
.gp-room-heading .room-intro{margin-top:12px;font-size:17px}
.gp-lab{max-width:920px;scroll-margin-top:24px;border:2px solid var(--line);border-bottom-width:5px;border-radius:24px;overflow:hidden;background:var(--paper)}
.gp-lab-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;background:var(--wash);padding:28px 34px;border-bottom:2px solid var(--line)}
.gp-lab-heading h2{font-size:clamp(28px,3.6vw,40px);color:var(--red);max-width:25ch}
.gp-note{font-size:13px;color:var(--muted);line-height:1.6;white-space:nowrap}
.gp-steps{list-style:none;padding:16px 34px;margin:0;display:flex;gap:20px;border-bottom:1px solid var(--line);background:#fff}
.gp-steps li{display:flex;align-items:center;gap:8px;flex:1;color:var(--muted);font-size:13px;font-weight:800;line-height:1.3}
.gp-steps li span{display:grid;place-items:center;width:28px;height:28px;flex:none;border:2px solid var(--line);border-radius:50%;font-size:12px}
.gp-steps li[aria-current="step"]{color:var(--red)}
.gp-steps li[aria-current="step"] span{background:var(--red);border-color:var(--dark);color:#fff}
.gp-stage{padding:30px 34px 34px;min-width:0}
.gp-stage h3{font-size:clamp(23px,3vw,29px);margin-bottom:18px;max-width:30ch}
.gp-stage p{max-width:66ch}
.gp-stage .eyebrow{font-size:12px;margin-bottom:9px}
.gp-stage .gp-stage-title:focus,.gp-feedback h4:focus{outline:none}
.gp-definition{font-size:18px;line-height:1.6}
.gp-formula{display:flex;flex-wrap:wrap;align-items:center;gap:9px;margin:22px 0;font-size:14px;font-weight:800}
.gp-formula b{display:inline-block;border:1px solid var(--line);background:var(--wash);padding:8px 12px;border-radius:8px}
.gp-formula b:last-child{background:var(--goodbg);color:var(--green);border-color:#afd0b9}
.gp-receipt{position:relative;max-width:530px;border:2px dashed var(--line);background:var(--wash);border-radius:16px;padding:22px 24px;margin:24px 0}
.gp-receipt .eyebrow{color:var(--muted)}
.gp-receipt dl{margin:12px 0 0}
.gp-receipt dl div{display:flex;justify-content:space-between;gap:20px;padding:11px 0;border-bottom:1px solid var(--line)}
.gp-receipt dt{font-size:15px}
.gp-receipt dd{margin:0;font-weight:850;font-size:20px;font-variant-numeric:tabular-nums;white-space:nowrap}
.gp-receipt dl .gp-total{border-bottom:0;color:var(--green);padding-top:14px}
.gp-receipt .gp-overhead{color:var(--muted);font-size:13px;margin-top:14px;padding-top:12px;border-top:1px dashed var(--line)}
.gp-money-bar{display:flex;max-width:530px;min-height:48px;border-radius:10px;overflow:hidden;margin-top:14px;font-size:13px;font-weight:800}
.gp-money-bar span{display:flex;align-items:center;justify-content:center;text-align:center;line-height:1.3;padding:10px 8px}
.gp-money-bar .gp-cost{width:40%;background:var(--tint);color:var(--dark)}
.gp-money-bar .gp-left{width:60%;background:var(--goodbg);color:var(--green)}
.gp-question{position:relative;padding:24px;border:2px solid var(--line);border-radius:16px;background:var(--wash);margin:22px 0}
.gp-question .gp-item-label{display:inline-block;background:var(--yellow);padding:3px 10px;border-radius:6px;font-size:11px;letter-spacing:.06em;text-transform:uppercase;font-weight:850;margin-bottom:14px}
.gp-question p{font-size:clamp(19px,2.5vw,24px);font-weight:800;line-height:1.45;max-width:32ch}
.gp-buckets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.gp-bucket{min-height:78px;background:#fff;border:2px solid var(--line);border-bottom-width:4px;border-radius:12px;padding:14px 12px;color:var(--ink);font-size:15px;font-weight:800;line-height:1.35}
.gp-bucket:hover:not(:disabled){border-color:var(--red);background:var(--tint)}
.gp-bucket:disabled{opacity:1}
.gp-bucket.is-selected{outline:2px solid var(--ink);outline-offset:3px}
.gp-bucket.is-correct{background:var(--goodbg);border-color:#afd0b9;color:var(--green)}
.gp-feedback{border-left:4px solid var(--red);border-radius:0 12px 12px 0;background:var(--wash);padding:17px 20px;margin-top:24px}
.gp-feedback.is-good{border-color:var(--green);background:var(--goodbg)}
.gp-feedback h4{font-size:17px;line-height:1.4;margin:0 0 8px}
.gp-feedback p{font-size:15px}
.gp-reminder{margin-top:24px;max-width:65ch}
.gp-reminder dl{margin:12px 0 0}
.gp-reminder dt{font-weight:800;margin-top:10px}
.gp-reminder dd{margin:2px 0 0;color:var(--muted)}
.gp-stage .actions{margin-top:24px}
.gp-stage .gp-skip{display:inline-block;margin-top:16px;font-size:13px}
.gp-answer-form{max-width:530px;margin-top:24px}
.gp-answer-form label{display:block;font-weight:800;margin-bottom:8px}
.gp-input-line{display:flex;align-items:stretch;gap:12px;flex-wrap:wrap}
.gp-input-line input{width:170px;min-width:0;max-width:100%;border:2px solid var(--line);border-radius:12px;padding:11px 14px;font:inherit;font-size:21px;font-weight:800;line-height:1.3;color:var(--ink);background:#fff;font-variant-numeric:tabular-nums}
.gp-input-line input:focus-visible{outline:3px solid var(--red);outline-offset:3px}
.gp-input-line input[aria-invalid="true"]{border-color:var(--red)}
.gp-input-line input:disabled{opacity:1;background:var(--goodbg);color:var(--green);border-color:#afd0b9}
.gp-input-help{font-size:13px;color:var(--muted);margin-top:8px}
.gp-summary{padding-left:22px;max-width:60ch}
.gp-summary li{padding:6px 0}
.gp-finish-note{padding:18px 20px;border:1px solid var(--line);border-radius:12px;margin-top:24px;background:var(--wash)}
@media(max-width:640px){.gp-room-heading{align-items:flex-start;gap:17px;margin-bottom:28px}.gp-room-heading .room-icon{width:70px;height:70px}.gp-room-heading h1{font-size:30px}.gp-room-heading .room-intro{font-size:16px}.gp-lab-heading{padding:24px}.gp-note{display:none}.gp-steps{padding:14px 24px;gap:12px}.gp-steps li{font-size:12px;display:block}.gp-steps li span{margin-bottom:6px}.gp-stage{padding:24px}.gp-buckets{grid-template-columns:1fr}.gp-bucket{min-height:48px}.gp-receipt{padding:18px}.gp-question{padding:20px}.gp-input-line input{flex:1;min-width:110px}.gp-input-line .button{flex:1}}
@media(max-width:380px){.gp-room-heading{display:block}.gp-room-heading .room-icon{margin-bottom:18px}.gp-stage,.gp-lab-heading{padding:20px}.gp-steps{padding:14px 20px}.gp-steps li{font-size:11px}.gp-receipt dt{font-size:13px}.gp-receipt dd{font-size:18px}}

/* Seven-round activity */
.gp-lab{max-width:1050px}.gp-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:18px 26px}.gp-steps li{font-size:12px}.gp-note{white-space:normal;max-width:170px}.gp-stage p{margin-top:12px;margin-bottom:16px}.gp-stage h4{margin:26px 0 12px;font-size:20px}.gp-stage button,.gp-stage input,.gp-stage select,.gp-stage textarea{font:inherit}.gp-stage button{cursor:pointer}.gp-stage button:focus-visible,.gp-stage input:focus-visible,.gp-stage select:focus-visible,.gp-stage textarea:focus-visible{outline:3px solid var(--red);outline-offset:4px}.gp-stage [hidden]{display:none!important}.gp-stage .button[aria-pressed=true],.gp-record.is-selected{background:var(--yellow);color:var(--ink);outline:2px solid var(--ink)}.gp-story{background:var(--wash);border-left:3px solid var(--line);padding:18px 22px;margin:20px 0;line-height:1.7}.gp-sticky{background:#fff0a9;color:#302c1c;box-shadow:3px 5px 0 #00000012;padding:24px;max-width:360px;margin:24px 0;font-size:22px;font-weight:700;line-height:1.8;transform:rotate(-1deg)}.gp-records{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:22px 0}.gp-record{display:flex;flex-direction:column;gap:8px;text-align:left;padding:18px;border:2px solid var(--line);border-bottom-width:4px;border-radius:12px;background:#fff;color:var(--ink);min-height:60px;line-height:1.5}.gp-record[draggable]{cursor:grab}.gp-record small{color:var(--muted)}.gp-buckets .button{min-height:90px;display:flex;flex-direction:column;justify-content:center;gap:12px}.gp-buckets .button small{font-weight:400}.gp-workbench{display:grid;grid-template-columns:1fr 1fr;gap:12px;background:var(--wash);padding:18px;border-radius:14px}.gp-slot{display:flex;flex-direction:column;gap:12px;min-height:96px;text-align:left;background:white;color:var(--ink);border:2px dashed var(--line);border-radius:10px;padding:14px}.gp-slot:last-child{grid-column:1/-1}.gp-calcs{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:22px 0}.gp-calcs label{display:flex;flex-direction:column;justify-content:space-between;gap:10px;font-weight:700}.gp-calcs input,.gp-select select,.gp-select textarea{width:100%;box-sizing:border-box;padding:12px;border:2px solid var(--line);border-radius:8px;background:white;color:var(--ink);min-height:46px}.gp-calcs input:disabled{background:var(--goodbg)}.gp-choices,.gp-action-cards{display:flex;flex-wrap:wrap;gap:12px;margin:18px 0}.gp-choices .button{flex:1;min-width:140px}.gp-action-cards{display:grid;grid-template-columns:1fr 1fr}.gp-action-cards .button{min-height:85px;white-space:normal;text-align:left}.gp-xp{border:2px solid #afd0b9;border-radius:12px;background:var(--goodbg);padding:20px;margin-top:26px;color:var(--green)}.gp-xp p{margin-bottom:4px}.gp-table-wrap{overflow-x:auto;margin:24px 0}.gp-table-wrap table{border-collapse:collapse;width:100%;font-variant-numeric:tabular-nums;font-size:14px}.gp-table-wrap caption{text-align:left;margin-bottom:10px;color:var(--muted)}.gp-table-wrap th,.gp-table-wrap td{padding:13px 12px;text-align:right;border-bottom:1px solid var(--line);white-space:nowrap}.gp-table-wrap th:first-child{text-align:left}.gp-table-wrap thead{background:var(--wash)}.gp-slider{display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px;margin:24px 0 10px}.gp-slider label{grid-column:1/-1;font-weight:700}.gp-slider input{width:100%;height:36px;accent-color:var(--red);cursor:pointer}.gp-slider output{font-weight:800;min-width:35px;text-align:right}.gp-hundred{height:22px;background:var(--wash);border:1px solid var(--line);border-radius:6px;overflow:hidden;margin-bottom:22px}.gp-hundred span{display:block;background:var(--green);height:100%}.gp-result{padding:22px;background:var(--goodbg);border-radius:12px;margin:22px 0}.gp-result>strong{font-size:26px}.gp-target-chart{position:relative;height:65px;border:1px solid var(--line);background:var(--wash);margin-top:35px}.gp-chart-fill{height:100%;background:var(--green)}.gp-target-line{position:absolute;top:-25px;bottom:0;left:62.5%;border-left:3px solid var(--red);padding-left:5px;font-size:12px;font-weight:800}.gp-select{display:flex;flex-direction:column;gap:10px;font-weight:700;margin:22px 0}.gp-select textarea{font-weight:400;resize:vertical}.gp-assumptions label{display:flex;gap:12px;align-items:flex-start;margin:15px 0}.gp-assumptions input{width:20px;height:20px;flex:none;accent-color:var(--red)}.gp-stage .actions{display:flex;flex-wrap:wrap;gap:12px}.gp-stage .actions .button{white-space:normal}.gp-stage button:hover{filter:brightness(.97)}
@media(max-width:640px){.gp-steps{grid-template-columns:1fr 1fr;padding:16px 20px}.gp-steps li{display:flex}.gp-steps li span{margin:0}.gp-records,.gp-workbench,.gp-calcs,.gp-action-cards{grid-template-columns:1fr}.gp-slot:last-child{grid-column:auto}.gp-table-wrap th,.gp-table-wrap td{padding:12px 9px}.gp-stage .button{min-height:46px}.gp-stage .actions{flex-direction:column}.gp-stage{overflow-wrap:break-word}.gp-sticky{font-size:18px}.gp-choices .button{min-width:120px}}
@media(prefers-reduced-motion:reduce){.gp-stage *{scroll-behavior:auto!important;transition:none!important}}

.gp-line-chart{display:block;width:100%;max-width:560px;margin:4px auto 25px;overflow:visible;font:14px system-ui,sans-serif}.gp-stage [tabindex="-1"]:focus{outline:none}

/* Clear choices and retries for What belongs. */
.gp-sort-card{background:#fff;border:2px solid var(--line);border-radius:12px;overflow:hidden;padding-bottom:16px}.gp-sort-card .gp-record{width:100%;border:0;border-radius:0;min-height:140px;padding-bottom:10px}.gp-sort-card .gp-record.is-selected{outline-offset:-3px}.gp-sort-label{display:block;font-size:13px;font-weight:700;margin:6px 16px}.gp-sort-card select{display:block;width:calc(100% - 32px);margin:0 16px;padding:12px 8px;border:2px solid var(--line);border-radius:8px;min-height:48px;background:white;color:var(--ink)}.gp-sort-card.needs-review{border-color:var(--red);background:#fff4ee}.gp-sort-card.needs-review select{border-color:var(--red)}.gp-sort-card.sort-correct{border-color:var(--green);background:var(--goodbg)}.gp-sort-card .gp-sort-hint{font-size:14px;line-height:1.5;margin:12px 16px 0}.gp-sort-progress{font-weight:700}.gp-stage [data-action="reset-sort"]{background:white;color:var(--ink);border:2px solid var(--line)}.gp-sort-selection{font-size:14px}.gp-buckets .button small:last-child{font-size:12px;line-height:1.5}
