*{box-sizing:border-box} :root{font-family:"Segoe UI",system-ui,sans-serif;font-size:16px;line-height:1.5;color:#1f374a;background:#f4f7f9;--ink:#193c53;--blue:#235f88;--line:#d8e2e9;--muted:#617484}body{margin:0}button,input,select,textarea{font:inherit;color:inherit}button,summary{cursor:pointer}button{min-height:42px;border:1px solid transparent;padding:.55rem .85rem;border-radius:7px;background:transparent;font-size:.9rem;font-weight:600;line-height:1.4}button:disabled{opacity:.4;cursor:not-allowed}button:not(:disabled):hover{filter:brightness(.96)}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:3px solid #d48719;outline-offset:3px}a{color:var(--blue)}.primary{background:var(--ink);color:white}.secondary{background:#edf3f7;border-color:#bdcfdd}.quiet{color:#3d5c70}.quiet:hover{background:#ecf2f6}.wide{width:100%}.header{min-height:78px;background:#fff;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:1rem max(1.6rem,calc((100vw - 1480px)/2));border-bottom:1px solid var(--line)}.brand{font-size:1.3rem;font-weight:650;letter-spacing:-.025em;display:flex;gap:.65rem;align-items:center;color:var(--ink);text-decoration:none}.brand svg{width:32px;height:32px}.parts{display:flex;gap:.65rem;align-items:center}.parts a,.parts button{height:32px;min-height:32px;width:32px;display:grid;place-items:center;padding:0;border:1px solid var(--line);border-radius:50%;font-size:.875rem;text-decoration:none;background:#f7f9fb;color:#657c8d;font-weight:600}.parts .current{background:var(--ink);border-color:var(--ink);color:white}.parts button{opacity:.5}.work-menu{display:flex;gap:.65rem;align-items:center}.save-label{font-size:.8rem;color:#476b59;max-width:170px;line-height:1.3}.file-menu{position:relative}.file-menu>summary{list-style:none;font-size:.9rem;font-weight:600;border:1px solid var(--line);padding:.6rem .8rem;border-radius:7px}.file-menu>div{position:absolute;right:0;top:calc(100% + 10px);width:260px;padding:8px;background:white;border:1px solid var(--line);border-radius:9px;box-shadow:0 12px 32px #233f5626;z-index:20}.menu-item{width:100%;text-align:left;margin:0}.menu-item:hover{background:#edf3f7}.workspace{max-width:1536px;margin:0 auto;padding:1.5rem 1.6rem 2rem;display:grid;grid-template-columns:minmax(0,1fr) minmax(310px,350px);gap:1.5rem;align-items:start}.board{min-width:0;background:white;border:1px solid var(--line);border-radius:10px;padding:1rem;position:sticky;top:1rem}.board-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.6rem;margin-bottom:1rem}.view-tabs{display:flex;gap:.2rem;border:1px solid var(--line);padding:.2rem;border-radius:8px;background:#f5f8fa}.view-tabs button{min-height:36px;padding:.4rem .95rem;color:#587085}.view-tabs button[aria-selected=true]{background:white;color:var(--ink);box-shadow:0 1px 4px #244a631f;border:1px solid #cfdae3}.board-actions{display:flex;gap:.1rem}.board-actions button{font-size:.875rem;padding:.45rem .6rem}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem;margin-bottom:.65rem}.metric{border:1px solid #d8e2e9;background:#f7fafc;text-align:left;display:flex;flex-direction:column;padding:.6rem .8rem;min-width:0;position:relative}.metric[aria-pressed=true]{border-color:#42789e;box-shadow:inset 0 0 0 1px #42789e}.metric>span{display:flex;align-items:center;gap:.4rem;font-size:.875rem}.metric i{width:10px;height:10px;border-radius:50%;background:var(--district)}.metric strong{font-size:1.7rem;font-weight:600;font-variant-numeric:tabular-nums;line-height:1.4;letter-spacing:-.035em}.metric small{color:#647786;font-size:.75rem;font-weight:400}.metric.met small{color:#1f674b}.canvas{touch-action:pan-y;user-select:none;line-height:0}.canvas.dragging{touch-action:none}.canvas-svg{display:block;width:100%;height:auto;max-height:620px;overflow:visible}.overlay{pointer-events:none}.reference{fill:none;stroke:#315970;stroke-width:2.4;stroke-dasharray:9 5}.district-shape{cursor:pointer}.district-shape:focus-visible polygon{stroke:#b96e00;stroke-width:6}.handle{cursor:grab;touch-action:none}.handle:active{cursor:grabbing}.handle .grip{fill:white;stroke:#3a5c75;stroke-width:2.2}.handle.selected .grip{fill:#275f88;stroke:#173f5c;stroke-width:3}.handle:focus-visible .grip{stroke:#bd790f;stroke-width:5}.map-label{font-size:18px;fill:#364e60;paint-order:stroke;stroke:white;stroke-width:4px;stroke-linejoin:round}.map-symbol{font-size:19px;font-weight:700;fill:#754b2b}.metro-symbol{font-size:14px;font-weight:700;fill:white}.district-label{font-size:25px;font-weight:650;fill:#234154;paint-order:stroke;stroke:#ffffffcc;stroke-width:6px;stroke-linejoin:round}.road-label{font-size:18px;fill:#4b5d68;paint-order:stroke;stroke:#e5e9ec;stroke-width:3px}.move-status{font-size:.8rem;line-height:1.4;color:#57758b;min-height:0;margin:.3rem .25rem 0}.move-status:empty{display:none}.keyboard-help{margin:.4rem .2rem 0;font-size:.8rem;color:#587183}.keyboard-help summary{font-size:.8rem}.keyboard-help p{margin:.5rem 0 0;max-width:640px}.sidebar{min-width:0}.instructions{padding:.15rem .25rem 1.2rem}.instructions h1{font-size:1.5rem;line-height:1.25;letter-spacing:-.025em;margin:0 0 .8rem}.instructions>p{font-size:1rem;margin:0 0 1rem}.rules{list-style:none;margin:1.1rem 0;padding:0}.rules li{display:flex;align-items:flex-start;gap:.65rem;padding:.6rem 0;border-top:1px solid var(--line)}.rules b{font-size:.9rem;font-weight:600}.rules p{font-size:.875rem;line-height:1.4;color:#536b7c;margin:.15rem 0 0}.rule-mark{color:#897141;font-size:1.1rem;min-width:19px;line-height:1.45}.rules .met .rule-mark{color:#1d7650}.instructions .tap-note{color:#55738a;font-size:.875rem;margin-bottom:0}.response{background:white;border:1px solid var(--line);border-radius:10px;padding:1.15rem}.response h2{font-size:1.12rem;line-height:1.45;letter-spacing:-.015em;margin:0 0 .9rem;font-weight:600}.response textarea{width:100%;min-height:138px;resize:vertical;border:1px solid #a8bdce;border-radius:6px;padding:.7rem;font-size:1rem;line-height:1.5;background:#fcfdff;display:block}.response textarea::placeholder{color:#73899a}.audio-tools{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .7rem;margin-top:.9rem}.audio-tools span{font-size:.8rem;color:#617787}.audio-tools button{font-size:.875rem;white-space:nowrap}.recording{background:#fff0ef;color:#9d2f2b;border-color:#c1847d}.shared-note{font-size:.8rem;color:#657b8d;line-height:1.45;margin:.9rem 0 0}.recorded-audio{margin-top:.8rem}.recorded-audio audio{width:100%;height:42px}.recorded-audio>div{display:flex;justify-content:space-between}.recorded-audio button{font-size:.8rem;padding:.5rem .2rem}.part-actions{margin-top:1rem}.figure-toolbar{display:flex;align-items:center;justify-content:space-between;padding:0 .3rem .6rem}.figure-toolbar label{font-size:.875rem;color:#5a7284;display:flex;gap:.65rem;align-items:center}.figure-toolbar select{border:1px solid #b9ccd9;border-radius:6px;padding:.4rem .65rem;background:white;font-size:.95rem}.figure-value{padding:.5rem 1rem;display:flex;gap:.8rem;align-items:center;border:1px solid var(--line);background:#f7fafc;border-radius:7px}.figure-value span{font-size:.875rem;color:#5e7789}.figure-value strong{font-size:1.7rem;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:-.035em}.interlude{max-width:620px;margin:10vh auto;padding:2rem;background:white;border:1px solid var(--line);border-radius:12px}.interlude h1{font-size:1.8rem;line-height:1.3;letter-spacing:-.025em;margin:.4rem 0 1rem}.interlude p{margin:0 0 1.5rem}.interlude .muted{font-size:.9rem;color:#5b7586;margin-top:1.5rem;margin-bottom:0}.part-label{font-size:.875rem;color:#55778f}.link-button{display:inline-block;border-radius:7px;padding:.65rem .9rem;text-decoration:none}.finish-actions{display:flex;flex-wrap:wrap;gap:.75rem}.toast{position:fixed;bottom:1.2rem;left:50%;transform:translateX(-50%);max-width:min(660px,92vw);width:max-content;padding:.85rem 1.15rem;border-radius:8px;background:#193c53;color:white;box-shadow:0 7px 24px #18344840;font-size:.95rem;z-index:100}.toast[hidden]{display:none}dialog{color:#1f3c51;border:1px solid var(--line);border-radius:12px;max-width:550px;width:calc(100% - 2rem);padding:1.5rem;box-shadow:0 16px 55px #102d4655}dialog::backdrop{background:#16344780}dialog h2{font-size:1.35rem;line-height:1.35;margin:0 0 .8rem}dialog p{margin:0}.dialog-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.5rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;top:-100px;left:1rem;padding:.5rem 1rem;z-index:200;background:white}.skip-link:focus{top:.5rem}@media(max-width:1100px){.workspace{grid-template-columns:minmax(0,1fr) 300px;padding:1.1rem;gap:1rem}.header{gap:.8rem;padding:1rem 1.1rem}.save-label{max-width:110px}.board{padding:.8rem}.board-actions button span{display:none}.metrics{gap:.4rem}.metric{padding:.5rem .6rem}.metric strong{font-size:1.4rem}.response{padding:1rem}.instructions h1{font-size:1.35rem}}@media(max-width:850px){.workspace{grid-template-columns:1fr;max-width:800px}.board{position:static}.sidebar{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.instructions{padding:.5rem}.response{grid-column:2;grid-row:1/3}.part-actions{margin:0 .5rem}.save-label{display:none}.canvas-svg{max-height:500px}.header{flex-wrap:wrap;gap:.5rem}.parts{gap:.4rem}.work-menu{gap:.2rem}}@media(max-width:580px){.header{padding:.75rem .8rem;gap:.6rem}.brand{font-size:1.15rem;gap:.4rem}.brand svg{width:26px;height:26px}.parts{gap:.3rem;order:3;flex-basis:100%;justify-content:center;padding-top:.4rem}.parts a,.parts button{width:29px;height:29px;min-height:29px}.work-menu button,.file-menu>summary{font-size:.8rem;padding:.5rem .6rem}.workspace{padding:.8rem;gap:1rem}.sidebar{display:block}.instructions{padding:.4rem .3rem 1rem}.response{padding:1rem}.part-actions{margin:1rem 0 0}.board{padding:.65rem;border-radius:8px}.board-toolbar{gap:.3rem;margin-bottom:.75rem}.view-tabs button{padding:.4rem .7rem;font-size:.875rem}.board-actions button{font-size:.8rem;padding:.4rem .5rem}.metrics{gap:.3rem}.metric{padding:.5rem .35rem}.metric strong{font-size:1.25rem}.metric small{font-size:.7rem}.metric>span{font-size:.8rem}.figure-value strong{font-size:1.45rem}.figure-value{padding:.4rem .6rem}.interlude{margin:3rem .8rem;padding:1.5rem}.file-menu>div{width:235px}.toast{bottom:.7rem}.canvas-svg{max-height:420px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.metro-status{display:flex;gap:.7rem;flex-wrap:wrap;margin-top:.35rem;font-size:.78rem}.metro-status .met{color:#1f674b}.metro-status .pending{color:#766239}@media(max-width:850px){.save-label{display:block;order:3;flex-basis:100%;max-width:none;text-align:right;font-size:.7rem}.work-menu{flex-wrap:wrap;max-width:235px}}@media(max-width:580px){.work-menu{max-width:190px}}
/* Stable header and clearer board navigation. */
.header-clock{grid-column:3;grid-row:1;justify-self:end;width:4.7rem}
.storage-feedback{max-width:1480px;margin:1rem auto 0;padding:1rem 1.25rem;border:1px solid #d0b579;border-radius:9px;background:#fffaf0}
.storage-feedback p{margin:0 0 .65rem}.storage-feedback>div{display:flex;flex-wrap:wrap;gap:.5rem}
.delivery-restart{margin:-.5rem 0 1.25rem}.delivery-restart button{border-color:#bdcfdd;background:#f7fafc}
.session-recovery{max-width:1480px;margin:0 auto 1.5rem;text-align:center;padding:0 1rem}
.welcome-page{max-width:740px;margin:3.5rem auto;padding:2rem}.welcome-page h1{max-width:24ch;font-size:2rem}.welcome-page>p{color:#486578}.welcome-activities{list-style:none;padding:0;margin:1.7rem 0;display:grid;gap:1.2rem}.welcome-activities li{display:flex;gap:.9rem;align-items:flex-start}.welcome-number{display:grid;place-items:center;flex:0 0 35px;height:35px;border-radius:50%;background:#e8f1f7;color:var(--ink);font-weight:650}.welcome-activities h2{font-size:1.05rem;line-height:1.5;margin:0 0 .3rem}.welcome-activities h2 span{margin-left:.5rem;font-size:.9rem;font-weight:400;color:#526f82;white-space:nowrap}.welcome-activities p{margin:0;font-size:.95rem;color:#486578}.welcome-page .welcome-clock-note{font-size:.875rem;margin:.7rem 0 0}.welcome-previous{border-top:1px solid var(--line);margin-top:1.6rem;padding-top:1.2rem}.welcome-previous p{font-size:.9rem;line-height:1.55;margin:0 0 .8rem;color:#526f82}.welcome-page .welcome-error{margin:1rem 0 0;padding:.75rem;border-left:3px solid #ba7824;background:#fff7e9}
@media(max-width:800px){.welcome-page{margin:1.5rem 1rem;padding:1.5rem}.welcome-page h1{font-size:1.75rem}}
@media(max-width:580px){.header-clock{grid-column:2}.storage-feedback{margin:1rem .8rem 0;padding:1rem}}
html{scrollbar-gutter:stable}
.header{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:1rem}
.brand{justify-self:start;grid-column:1;grid-row:1}
.parts{grid-column:2;grid-row:1;justify-self:center}
.work-menu{grid-column:3;grid-row:1;justify-self:end;display:grid;grid-template-columns:14rem auto auto;gap:.65rem;max-width:none;align-items:center}
.save-label{display:flex;align-items:center;justify-content:flex-end;text-align:right;width:14rem;max-width:none;height:2.6em;line-height:1.3;min-width:0;grid-column:1;grid-row:1;order:0;font-size:.8rem}
.work-menu>[data-action="pause"]{grid-column:2;grid-row:1}
.work-menu>.file-menu{grid-column:3;grid-row:1}
.board-toolbar{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:1rem;align-items:center}
.view-tabs{gap:.3rem;padding:.25rem;background:#eaf2f9;border-color:#c3d6e6}
.view-tabs button{font-size:1rem;min-height:46px;padding:.6rem 1.15rem;background:#f4f8fc;color:#325f7e}
.view-tabs button[aria-selected="true"]{background:#d5e9f7;color:#153f60;border-color:#659bc1;box-shadow:0 1px 3px #234f6b20}
.switch-note{font-size:.85rem;line-height:1.45;color:#4f6c80;margin:0;max-width:40ch}
.switch-note b{font-weight:600}
.board-actions{justify-self:end}
.keyboard-help{font-size:.95rem;line-height:1.65;margin:1rem .25rem 0;padding-top:1rem;border-top:1px solid var(--line);color:#395a70}
.keyboard-help h2{font-size:1rem;font-weight:650;line-height:1.4;margin:0 0 .55rem}
.keyboard-help p{max-width:none;margin:.45rem 0}
.keyboard-help .circle-guide{margin:0 0 1rem;font-size:1rem;color:var(--ink)}
kbd{display:inline-block;vertical-align:baseline;font-family:inherit;font-size:.87em;font-weight:600;color:#27475d;line-height:1.4;background:#f4f7fa;border:1px solid #b8cad8;border-bottom:2px solid #a6bccd;border-radius:5px;padding:.12rem .4rem;white-space:nowrap}
.arrow-keys{display:inline-flex;gap:.2rem;white-space:nowrap;vertical-align:baseline}
.point-key{width:27px;height:27px;vertical-align:middle;margin:0 .1rem}
.handle.selected .grip{fill:white;stroke:#3a5c75;stroke-width:2.2}
.canvas.dragging .handle.selected .grip,.handle:focus .grip{fill:#fff4dc;stroke:#bd790f;stroke-width:5}
.district-shape:focus,.handle:focus{outline:none}
.audio-tools .recording{background:#5be329;color:#14370b;border-color:#35a214}
.place-icon{width:27px;height:27px;vertical-align:middle;margin:0 .1rem}
.metro-icon{width:24px;height:24px}
.instructions .index-guide{font-size:.875rem;line-height:1.5;color:#536b7c;margin-top:-.15rem}
.audio-tools span{font-size:.875rem;line-height:1.5}
.shared-note{font-size:.875rem;line-height:1.5}
@media(max-width:1180px){
 .board-toolbar{grid-template-columns:minmax(0,1fr) auto;gap:.7rem}
 .board-actions{grid-column:2;grid-row:1}
 .switch-note{grid-column:1/-1;grid-row:2;max-width:none}
}
@media(max-width:1100px){
 .work-menu{width:220px;grid-template-columns:auto auto;gap:0 .5rem}
 .work-menu>[data-action="pause"]{grid-column:1;grid-row:1;justify-self:end}
 .work-menu>.file-menu{grid-column:2;grid-row:1;justify-self:end}
 .save-label{grid-column:1/-1;grid-row:2;width:100%;font-size:.75rem;height:2.6em}
}
@media(max-width:580px){
 .header{grid-template-columns:minmax(0,1fr) auto;gap:.4rem .5rem}
 .work-menu{grid-column:2;width:190px}
 .parts{grid-column:1/-1;grid-row:2;justify-self:center;order:0;padding-top:.2rem}
 .view-tabs button{font-size:.95rem;min-height:44px;padding:.5rem .85rem}
 .board-toolbar{column-gap:.3rem}
 .keyboard-help{font-size:.95rem;margin-top:.85rem}
 .save-label{font-size:.7rem}
}
.view-tabs{justify-self:start}
.figure-toolbar{flex-wrap:wrap;gap:.6rem}
.figure-toolbar label{min-width:0}
.figure-toolbar select{max-width:100%;min-width:0}
.figure-value{margin-left:auto;flex-shrink:0}
.parts button:not(:disabled){opacity:1}
.part-two{grid-template-columns:minmax(0,1.25fr) minmax(380px,1fr);max-width:1540px;row-gap:1rem}
.exploration-intro{grid-column:2;grid-row:1;padding:.15rem .3rem 0}
.guide-replay-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.75rem}
.sidebar>.help-button{margin-bottom:.85rem;justify-self:start;align-self:start}
.exploration-intro h1{font-size:1.4rem;line-height:1.25;margin:.3rem 0 .7rem}
.exploration-intro p{font-size:1rem;line-height:1.55;margin:.6rem 0}
.exploration-board{grid-column:1;grid-row:1/3;max-height:none;overflow:visible}
.exploration-board h2{font-size:1.3rem;line-height:1.3;margin:.2rem 0}
.exploration-board .canvas-svg{max-height:min(55vh,590px)}
.capture-bar{display:flex;gap:.8rem;align-items:center;border-top:1px solid var(--line);padding-top:.8rem;margin-top:.5rem}
.capture-bar button{white-space:normal;flex-shrink:0;max-width:100%}
.capture-bar p{font-size:.875rem;line-height:1.45;margin:0;color:#536e80}
.exploration-board .keyboard-help{font-size:.875rem;line-height:1.6}
.reflection-sidebar{display:block;grid-column:2;grid-row:2;min-width:0}
.question-response{margin-bottom:1rem}
.question-response h2{display:flex;gap:.65rem;align-items:baseline}
.question-number{font-size:.9rem;display:inline-grid;place-items:center;flex-shrink:0;width:1.7rem;height:1.7rem;border-radius:50%;background:#e3eff8;color:var(--blue)}
.capture-name,.paste-box strong{color:var(--blue)}
.capture-button{background:var(--blue);color:#fff;border-color:var(--blue)}
.paste-box{border:1px dashed var(--blue);border-radius:8px;background:#edf5fc;padding:1rem;margin-bottom:1rem}
.paste-box p{font-size:.9rem;line-height:1.5;margin:0 0 .75rem}
.paste-box.image-ready{border-style:solid;background:#e3f0fb}
.prepared-image{display:flex;gap:.75rem;align-items:center;border:1px solid #c8deef;border-radius:7px;background:#edf5fc;padding:.6rem;margin-top:.75rem}
.prepared-image img{width:90px;height:62px;object-fit:contain;background:white}
.prepared-image p{font-size:.85rem;line-height:1.45;margin:0}
.question-hint{font-size:.95rem;color:#516b7e;line-height:1.55;margin:-.2rem 0 .8rem}
.question-response textarea{min-height:110px}
.captured-evidence{margin-top:1.25rem;border-top:1px solid var(--line);padding-top:1rem}
.captured-evidence h3{font-size:1rem;margin:0 0 .7rem}
.empty-captures{font-size:.9rem;line-height:1.55;color:#526e82;margin:0}
.capture-cards{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - (var(--capture-columns) - 1)*.75rem)/var(--capture-columns));gap:.75rem;overflow-x:auto;align-items:start;scroll-snap-type:x proximity;overscroll-behavior-x:contain;padding-bottom:.7rem;margin-bottom:.5rem;scrollbar-color:#809fb5 #e8f0f6}
.capture-cards::-webkit-scrollbar{height:12px}.capture-cards::-webkit-scrollbar-track{background:#e8f0f6;border-radius:8px}.capture-cards::-webkit-scrollbar-thumb{background:#809fb5;border:2px solid #e8f0f6;border-radius:8px}
.capture-scroll-controls{display:flex;align-items:center;gap:.4rem;font-size:.85rem;color:#536e80;margin:.15rem 0 1rem}.capture-scroll-controls span{margin-right:auto}.capture-scroll-controls button{min-width:40px;padding:.35rem .6rem}
.capture-card{scroll-snap-align:start}
.capture-card .audio-tools{align-items:start}.capture-card .audio-tools button{white-space:normal;max-width:100%}.capture-card .audio-tools span{font-size:.8rem}
.capture-card .recorded-audio>div{flex-wrap:wrap}.capture-card audio{min-width:0;max-width:100%}
.capture-add{margin-top:.5rem}
.comparison-group{margin-top:1.3rem}.comparison-group h3{line-height:1.4}.comparison-paste-note{font-size:.9rem;line-height:1.5;margin:0 0 1rem}
.capture-slot{border:1px dashed #9dbad0;border-radius:8px;padding:.7rem;background:#f8fbfd;min-width:0;scroll-snap-align:start}
.capture-slot-label{font-size:.85rem;line-height:1.4;margin:0 0 .6rem;font-weight:650}
.capture-slot-placeholder{height:180px;display:grid;place-items:center;text-align:center;font-size:.85rem;color:#536e80;background:white;border:1px solid #dae4eb;border-radius:5px;padding:.4rem;margin-bottom:.75rem}
.capture-slot .capture-button{width:100%;white-space:normal;padding:.5rem}
.guide-underlay .comparison-group h3,.guide-underlay .capture-slot-label{filter:blur(6px);opacity:.5;user-select:none}
.capture-card{border:1px solid #c4d5e2;border-radius:8px;padding:.7rem;background:#f8fbfd;min-width:0}
.capture-preview{width:100%;display:block;padding:0;border:1px solid #dae4eb;background:white;min-height:80px;cursor:zoom-in}
.capture-preview img{display:block;width:100%;height:180px;object-fit:contain}
.capture-caption{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;font-size:.9rem;gap:.2rem}
.capture-card label{font-size:.9rem;display:block;margin:.3rem 0}
.capture-card textarea{min-height:75px}
.question-actions{margin-top:1rem}
.capture-dialog{width:min(920px,calc(100vw - 2rem));max-width:none;max-height:94vh;overflow:auto}
#crop-canvas{display:block;width:100%;height:auto;max-height:50vh;touch-action:none;cursor:crosshair;margin:.8rem 0;background:#fff;border:1px solid #c6d7e2}
#crop-rect{fill:#235f8815;stroke:var(--blue);stroke-width:3;stroke-dasharray:8 5;pointer-events:none}
.crop-options{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}
#crop-status{font-size:.875rem;margin:.6rem 0;color:#536e81}
.capture-question{display:grid;gap:.35rem;font-size:.95rem}.capture-question select{min-width:0;max-width:100%;white-space:normal;border:1px solid #aec3d2;border-radius:5px;padding:.5rem;background:white}
.image-inspection{width:min(1100px,calc(100vw - 2rem));max-width:none;max-height:94vh;text-align:center}.image-inspection img{display:block;max-width:100%;max-height:72vh;width:auto;height:auto;object-fit:contain;margin:.8rem auto}.image-inspection form{margin-top:1rem}
@media(max-width:1100px){.part-two{grid-template-columns:minmax(0,1fr) minmax(340px,.9fr)}.capture-bar{flex-wrap:wrap}.exploration-board .keyboard-help{font-size:.875rem}}
@media(max-width:850px){.part-two{grid-template-columns:1fr}.exploration-intro{grid-column:1;grid-row:1}.exploration-board{grid-column:1;grid-row:2;max-height:none;overflow:visible}.part-two .reflection-sidebar{display:block;grid-column:1;grid-row:3}.exploration-board .canvas-svg{max-height:450px}}
@media(max-width:580px){.capture-cards{grid-auto-columns:calc((100% - (min(var(--capture-columns),2) - 1)*.75rem)/min(var(--capture-columns),2))}.exploration-board .figure-toolbar{gap:.5rem}.exploration-board h2{font-size:1.15rem}.capture-dialog{padding:1rem}.capture-bar{gap:.5rem}.exploration-intro{padding:.5rem .25rem 0}}

/* Part three: a common construction, comparison and change of scale. */
.part-three{max-width:1220px;margin:0 auto;padding:1.6rem 1.6rem 2.5rem;min-width:0}
.part-three>h1{font-size:1.8rem;line-height:1.2;margin:.35rem 0 1rem;color:var(--ink)}
.p3-sections{display:flex;gap:.5rem;background:#eaf2f8;border:1px solid #cbdce9;padding:.3rem;border-radius:9px;margin-bottom:1rem}
.p3-sections button{flex:1;font-size:.98rem;text-align:left;padding:.65rem 1rem;color:#325f7e}
.p3-sections button[aria-current="step"]{background:#fff;border-color:#8bb4d0;box-shadow:0 1px 3px #26496218;color:var(--ink)}
.p3-lead{font-size:1.02rem;line-height:1.65;max-width:95ch;margin:.8rem 0 1.2rem}
.definition-panel{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:1rem;background:white;border:1px solid var(--line);border-radius:12px;padding:1.15rem}
.p3-diagram{display:block;width:100%;height:auto;max-height:400px;background:white;border-radius:8px}
.definition-graphic{min-width:0;align-self:center}
.definition-legend{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap;font-size:.8rem;color:#405f73;margin:.4rem 0}
.definition-legend>span{display:flex;align-items:center;gap:.3rem}.legend-swatch{display:inline-block;width:14px;height:14px;border:1px solid #235f88}.legend-swatch.pale{background:#dfedf4}.legend-swatch.solid{background:#649eac}.legend-swatch.outline{border:2px dashed #235f88;border-radius:50%}
.diagram-caption{text-align:center;margin:.5rem 0 0;font-size:.85rem;color:#537083}
.definition-steps{padding:0;margin:0;list-style:none;display:grid;gap:.5rem}
.definition-steps button{display:flex;align-items:start;gap:.75rem;width:100%;border:1px solid #d8e3eb;text-align:left;font-weight:400;font-size:.95rem;background:#f8fbfd;padding:.7rem .8rem}
.definition-steps button[aria-pressed="true"]{border-color:#4c8cb7;background:#e7f2fa}.definition-steps b{display:block;font-size:1rem;margin-bottom:.15rem}.step-number{display:grid;place-items:center;background:white;border:1px solid #cfdfec;border-radius:50%;width:1.7rem;height:1.7rem;flex-shrink:0;font-weight:650;color:#235f88}.step-description{display:block;line-height:1.45}
.math-expression{display:flex;align-items:center;justify-content:center;gap:.45rem;font-family:Cambria,"Times New Roman",serif;font-size:1.5rem;font-weight:400;margin:.45rem 0;color:var(--ink)}
.fraction{display:inline-flex;flex-direction:column;text-align:center;line-height:1.2;vertical-align:middle}.fraction>span{padding:.12rem .45rem}.fraction>span:first-child{border-bottom:1.5px solid currentColor}.math-expression sub{font-size:.65em}
.index-interpretation{grid-column:1/-1;background:#f2f7fb;padding:.8rem 1rem;border-radius:7px;margin:0;font-size:.95rem;line-height:1.55}
.district-section{margin:1.8rem 0}.part-three h2{font-size:1.2rem;line-height:1.4;margin:0 0 .55rem}.district-section>p,.compactness-context>p{font-size:.96rem;line-height:1.6}
.district-examples{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem}.district-example{min-width:0;background:white;border:1px solid #c9dce8;text-align:left;padding:.75rem 1rem;font-weight:400}.district-example[aria-pressed="true"]{border:2px solid #235f88;padding:calc(.75rem - 1px) calc(1rem - 1px);background:#f1f7fb}.district-example b{font-size:.95rem;display:flex;align-items:center;gap:.4rem}.district-example b i{width:.7rem;height:.7rem;display:inline-block;border-radius:50%;flex-shrink:0}.mini-diagram{height:115px}.district-example>span{display:block;text-align:center;color:#4c687a}.district-example strong{font-size:1.45rem;font-variant-numeric:tabular-nums;color:var(--ink);margin-left:.3rem}
.district-comparison{border-left:3px solid #90b6d0;padding:.65rem 1rem;margin:1rem 0;background:#edf4f9}.district-comparison p{margin:.25rem 0;font-size:.94rem}.district-comparison>span{font-size:.77rem;color:#617887}.context-source{font-size:.8rem!important;color:#5e7485;line-height:1.5!important;margin:.65rem 0}
.context-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;align-items:start}.context-cards details{background:white;border:1px solid var(--line);border-radius:9px;overflow:hidden;min-width:0}.context-cards summary{padding:1rem;font-weight:600;font-size:.95rem}.context-cards summary>span{font-size:.8rem;color:#718c9f;margin-right:.3rem}.context-cards small{display:block;font-size:.8rem;color:#5c788b;font-weight:400;padding-left:1.1rem}.context-cards img,.context-cards svg{width:100%;height:135px;object-fit:contain;display:block;background:#f5f9fc}.context-cards p{font-size:.88rem;line-height:1.6;padding:0 1rem 1rem;margin:.65rem 0 0}.p3-next{display:flex;justify-content:flex-end;gap:.6rem;margin-top:1.5rem}
.scale-workspace{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(340px,.9fr);gap:1.3rem;align-items:start}.scale-board{padding:1rem}.compact-examples{gap:.4rem}.compact-examples .district-example{padding:.5rem}.compact-examples .district-example[aria-pressed="true"]{padding:calc(.5rem - 1px)}.compact-examples .district-example b{font-size:.78rem;flex-wrap:wrap;gap:.2rem}.compact-examples .district-example>span{font-size:.75rem;margin-top:.2rem}.compact-examples .district-example strong{font-size:1rem}
.scale-figure .p3-diagram{height:min(30vh,260px);margin-top:.6rem}.scale-legend{display:flex;gap:.45rem;align-items:center;flex-wrap:wrap;font-size:.77rem;color:#5c7282;margin:.15rem 0 .65rem}.scale-legend>span:last-child{margin-left:auto}.base-line{width:22px;border-top:2px dashed #718291}
.scale-control{border-top:1px solid var(--line);padding-top:.75rem}.scale-control label{display:flex;justify-content:space-between;font-size:.95rem;font-weight:600}.scale-control output{font-variant-numeric:tabular-nums;color:#235f88;font-size:1.15rem}.scale-control input{width:100%;height:32px;accent-color:#235f88;cursor:pointer}.scale-presets{display:flex;gap:.4rem;justify-content:space-between}.scale-presets button{flex:1;padding:.3rem;font-size:.85rem;min-height:34px}.scale-presets button[aria-pressed="true"]{background:#d6e9f7;border-color:#5592bb}
.scale-metrics{display:grid;grid-template-columns:1fr 1fr;gap:.65rem;margin-top:1rem}.scale-metrics>div{border:1px solid #c8dce9;border-radius:8px;padding:.65rem .8rem;min-width:0}.scale-metrics .scale-area{background:#fff5e8;border-color:#e6c7a0}.scale-metrics .scale-index{background:#e9f3fb}.scale-metrics>div>span{font-size:.85rem}.scale-metrics strong{font-size:clamp(1.55rem,2.8vw,2.2rem);line-height:1.2;display:block;margin:.25rem 0;font-variant-numeric:tabular-nums;white-space:nowrap}.scale-area strong{color:#9f5409}.scale-index strong{color:#235f88}.scale-metrics strong small{font-size:.85rem;font-weight:400}.scale-metrics p{font-size:.72rem;line-height:1.4;margin:.45rem 0 0}.quantity-track{height:6px;background:#fff;border-radius:6px;overflow:hidden}.quantity-track i{display:block;height:100%;background:#235f88;transition:width .12s linear}.scale-area .quantity-track i{background:#c6802b}
.live-quotient{display:flex;align-items:center;justify-content:space-between;gap:.6rem;margin-top:.75rem;padding:0 .2rem}.live-quotient>span:first-child{font-size:.8rem;max-width:17ch;color:#577286}.live-quotient .math-expression{font-size:1.3rem;margin:0}
.scale-responses{min-width:0}.scale-responses>.response{margin-bottom:1rem}.scale-responses .response h2{font-size:1.08rem}.scale-responses textarea{min-height:95px}.scale-help{border:1px solid #c9dce9;background:#eef5fa;border-radius:8px;margin-bottom:1rem}.scale-help>button{width:100%;text-align:left}.scale-help>div{padding:.25rem 1rem 1rem}.scale-help p{font-size:.91rem;line-height:1.6}.scale-help .math-expression{font-size:1.3rem;flex-wrap:wrap}
@media(max-width:950px){.part-three{padding:1.2rem}.scale-workspace{grid-template-columns:minmax(0,1fr) minmax(310px,1fr)}.definition-panel{gap:.7rem;padding:.8rem}.definition-steps button{font-size:.85rem}.context-cards summary{padding:.75rem}.scale-board{padding:.7rem}}
@media(max-width:750px){.part-three{padding:1rem}.part-three>h1{font-size:1.5rem}.p3-sections button{font-size:.85rem;padding:.6rem}.definition-panel{grid-template-columns:1fr}.definition-graphic{position:relative}.definition-graphic .p3-diagram{max-height:260px}.definition-steps{grid-template-columns:1fr 1fr}.definition-steps button{height:100%}.index-interpretation{grid-column:1}.scale-workspace{grid-template-columns:1fr}.scale-board{position:static}.scale-figure .p3-diagram{height:300px}.context-cards{grid-template-columns:1fr}.context-cards img,.context-cards svg{height:auto;max-height:220px}.scale-metrics strong{font-size:2rem}}
@media(max-width:450px){.part-three{padding:.8rem}.definition-steps{grid-template-columns:1fr}.district-examples:not(.compact-examples){gap:.35rem}.district-example{padding:.55rem .4rem}.district-example[aria-pressed="true"]{padding:calc(.55rem - 1px) calc(.4rem - 1px)}.district-example b{font-size:.78rem;flex-wrap:wrap}.district-example>span{font-size:.75rem}.district-example strong{display:block;font-size:1.1rem;margin:0}.mini-diagram{height:85px}.scale-legend>span:last-child{margin-left:0}.scale-metrics strong{font-size:1.6rem}.scale-metrics>div{padding:.65rem}.scale-presets{gap:.3rem}.p3-next>button{width:100%}}

/* Activity 1/2 refinement: stable identities, clearer navigation and a fixed clock. */
:root{--board-districts:#17675d;--board-districts-soft:#e5f2ef;--board-figure:#235f88;--board-figure-soft:#e5f0f8}
.view-tabs{position:relative;background:#f1f6f7}
.view-tabs .tab-districts{color:var(--board-districts);background:#f1f8f6}
.view-tabs .tab-figure{color:var(--board-figure);background:#f0f6fb}
.view-tabs .tab-districts[aria-selected="true"]{color:var(--board-districts);background:var(--board-districts-soft);border-color:var(--board-districts);box-shadow:inset 0 -2px var(--board-districts)}
.view-tabs .tab-figure[aria-selected="true"]{color:var(--board-figure);background:var(--board-figure-soft);border-color:var(--board-figure);box-shadow:inset 0 -2px var(--board-figure)}
.switch-arrows{position:absolute;left:50%;top:-.34rem;width:15px;height:15px;transform:translateX(-50%);color:#547585;background:white;border-radius:50%;pointer-events:none}
.board-name-districts{color:var(--board-districts);font-weight:650}.board-name-figure{color:var(--board-figure);font-weight:650}
.metric{border:2px solid var(--district);background:var(--district-soft);padding:.6rem .75rem}
.metric[aria-pressed="true"]{border-color:var(--district);box-shadow:inset 0 0 0 1px var(--district);background:var(--district-soft)}
.metric>span{font-size:.95rem;font-weight:650}.metric i{width:13px;height:13px;border:1px solid #193c5333}
.metric strong{font-size:1.8rem}.metric small{display:flex;align-items:center;gap:.2rem}
.complete-mark{width:1em;height:1em;vertical-align:-.1em;flex-shrink:0;color:#187342}
.rule-mark .complete-mark{width:19px;height:19px;vertical-align:middle}.metro-status .complete-mark{width:13px;height:13px}
.keyboard-help .circle-guide strong{font-weight:700}
.comparison-prompts{border-left:3px solid #b7d1e3;padding-left:.8rem;margin:0 0 1rem}.comparison-prompts p{font-size:.95rem;line-height:1.55;color:#405f74;margin:.5rem 0 .8rem}.comparison-prompts b{color:var(--ink)}
.work-menu{grid-template-columns:14rem 4.7rem auto}.work-menu>.activity-clock{grid-column:2;grid-row:1}.work-menu>.file-menu{grid-column:3;grid-row:1}
.activity-clock{width:4.7rem;min-width:4.7rem;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.15;border:1px solid #d8e2e9;border-radius:6px;padding:.3rem .35rem;background:#f7fafb;font-variant-numeric:tabular-nums}
.clock-caption{font-size:.65rem;color:#617484}.activity-clock [role="timer"]{display:block;font-size:1rem;font-weight:650;min-width:5ch;text-align:center;color:var(--ink)}
.activity-clock:has([data-phase="warning"]){background:#fff2b8;border-color:#b78f1f}.activity-clock [data-phase="warning"]{color:#735500}
.activity-clock:has([data-phase="urgent"]){background:#fbe3df;border-color:#b4554a}.activity-clock [data-phase="urgent"]{color:#9b3024}
.save-label{white-space:normal;overflow-wrap:anywhere}
.delivery-page{max-width:850px}.delivery-page>p{line-height:1.65}.delivery-card{margin:1.5rem 0;padding:1.5rem;border:1px solid #c4d8e6;border-radius:10px;background:#f7fafc}.delivery-card>.primary{font-size:1rem;min-height:48px}.delivery-extras{border-bottom:1px solid var(--line);margin-bottom:1.2rem;padding-bottom:1.2rem}.delivery-extras p{font-size:.95rem;line-height:1.55}.delivery-extras input{width:100%;max-width:100%;padding:.6rem;background:white;border:1px solid #bdcfdd;border-radius:6px}.delivery-extras input::file-selector-button{border:1px solid #a9bfce;background:#edf3f7;color:var(--ink);padding:.4rem .6rem;border-radius:4px;margin-right:.6rem}.attachment-list{padding:0;list-style:none}.attachment-list li{display:flex;align-items:center;justify-content:space-between;gap:.7rem;border-top:1px solid var(--line);padding:.45rem 0}.attachment-list span{overflow-wrap:anywhere;min-width:0}.attachment-list small{color:var(--muted)}.delivery-warning{background:#fff0e0;padding:.8rem;border-left:3px solid #a6640d;border-radius:4px}.delivery-card #delivery-status{font-size:.85rem;line-height:1.5}.delivery-page .finish-actions{display:flex;justify-content:space-between;gap:.6rem;flex-wrap:wrap}@media(max-width:580px){.delivery-card{padding:1rem}.delivery-card>.primary,.delivery-page .finish-actions>button{width:100%}}
@media(min-width:1101px) and (max-width:1240px){.work-menu{width:220px;grid-template-columns:4.7rem auto;gap:0 .5rem}.work-menu>.activity-clock{grid-column:1;grid-row:1;justify-self:end}.work-menu>.file-menu{grid-column:2;grid-row:1;justify-self:end}.work-menu>.save-label{grid-column:1/-1;grid-row:2;width:100%;font-size:.75rem;height:2.6em}}
@media(max-width:1100px){.work-menu{width:220px;grid-template-columns:4.7rem auto;gap:0 .5rem}.work-menu>.activity-clock{grid-column:1;grid-row:1;justify-self:end}.work-menu>.file-menu{grid-column:2;grid-row:1;justify-self:end}.work-menu>.save-label{grid-column:1/-1;grid-row:2}.metric strong{font-size:1.5rem}.metric>span{font-size:.9rem}}
@media(max-width:580px){.work-menu{width:190px}.metric{padding:.5rem .3rem}.metric strong{font-size:1.3rem}.metric>span{font-size:.82rem;gap:.25rem}.metric i{width:11px;height:11px}.metric small{font-size:.68rem}.activity-clock{padding:.3rem}.comparison-prompts{padding-left:.65rem}}

/* Declared identity, short guides and independent delivery for parts 1 and 2. */
.welcome-page .course-name{font-size:.95rem;line-height:1.6;max-width:62ch}
#identity-form{margin:1.6rem 0 1rem}
.identity-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-bottom:1.1rem}
.identity-fields label{display:grid;gap:.4rem;min-width:0;font-size:.95rem;font-weight:600;color:var(--ink)}
.identity-fields input{display:block;min-width:0;width:100%;min-height:46px;padding:.6rem .75rem;border:1px solid #a8bdce;border-radius:6px;background:#fcfdff;font-size:1rem;font-weight:400;line-height:1.4}
.identity-fields input:disabled{background:#f0f4f7;color:#617484}
#identity-form>.primary{min-width:9rem;min-height:46px}
.institution-footer{display:flex;align-items:center;justify-content:center;gap:1.2rem;max-width:740px;margin:2rem auto;padding:1.3rem 1rem 0;border-top:1px solid var(--line);color:#536b7c}
.institution-footer img{display:block;width:102.375px;max-width:40%;height:auto;flex-shrink:0;object-fit:contain}
.institution-footer p{margin:0;font-size:.8rem;line-height:1.65}
.welcome-page .institution-footer{justify-content:flex-start;margin:1.8rem 0 0;padding:1.3rem 0 0}
body:has(.guide-backdrop){overflow:hidden}
.guide-underlay{pointer-events:none}
.guide-underlay :is(.instructions,#metrics,.figure-value,.exploration-intro,.response>h2,.question-hint,.comparison-prompts){filter:blur(6px);opacity:.5;user-select:none}
.guide-backdrop{position:fixed;inset:0;z-index:120;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:#112d45a6;overflow:auto;overscroll-behavior:contain}
.guide-card{width:100%;max-width:600px;min-width:0;max-height:calc(100vh - 3rem);max-height:calc(100dvh - 3rem);overflow:auto;overscroll-behavior:contain;border:1px solid #b87948;border-radius:12px;background:#fff;box-shadow:0 18px 60px #102d4666;padding:1.6rem 1.8rem;color:var(--ink)}
.guide-heading{display:flex;justify-content:space-between;align-items:center;gap:.8rem;margin-bottom:1.25rem}
.guide-heading>span{font-size:.85rem;font-weight:600;color:#55778f;line-height:1.4}
.guide-heading>.quiet{flex-shrink:0;min-height:44px;border:1px solid var(--line);font-size:.85rem}
.guide-card h2{font-size:1.55rem;line-height:1.3;letter-spacing:-.02em;margin:0 0 .85rem}
.guide-card>p{font-size:1rem;line-height:1.7;margin:0 0 1.25rem;color:#395a70;overflow-wrap:break-word}
.guide-card>[role="alert"]{padding:.75rem .9rem;border-left:3px solid #a6640d;border-radius:4px;background:#fff7e9;font-size:.9rem;line-height:1.55}
.guide-actions{display:flex;justify-content:space-between;align-items:stretch;gap:.8rem;margin-top:1.7rem;padding-top:1.1rem;border-top:1px solid var(--line)}
.guide-actions>button{min-height:46px;min-width:0;max-width:100%;white-space:normal}
.guide-actions>.primary{min-width:10rem}
.delivery-transition{margin:1.5rem 0;padding:1.2rem;border:1px solid #c4d8e6;border-radius:9px;background:#f7fafc}
.delivery-ack{display:flex;align-items:flex-start;gap:.7rem;font-size:1rem;font-weight:600;line-height:1.6;color:var(--ink);cursor:pointer}
.delivery-ack input{width:1.2rem;height:1.2rem;flex:0 0 1.2rem;margin:.2rem 0 0;accent-color:var(--ink);cursor:pointer}
.delivery-ack input:disabled{cursor:not-allowed}
.delivery-transition>p{margin:.85rem 0 0;font-size:.95rem;line-height:1.65;color:#486578}
.delivery-page .finish-actions>button{min-height:46px}
.delivery-extras label{display:block;line-height:1.5}
.delivery-extras>p{margin:.5rem 0 .9rem}
.delivery-extras .muted{margin:.5rem 0 0;font-size:.8rem;line-height:1.5}
.attachment-list{margin:.85rem 0 0}
.attachment-list .quiet{flex-shrink:0;min-height:44px}
.delivery-card #delivery-status{margin:.9rem 0 0;overflow-wrap:anywhere}
.delivery-card #delivery-status:empty{display:none}
.delivery-card .delivery-warning{margin:.9rem 0 0;line-height:1.6}
.delivery-backup{display:inline-flex;align-items:center;gap:.75rem;margin-left:.45rem;vertical-align:middle}.delivery-backup p{max-width:330px;margin:0;font-size:.85rem;line-height:1.45;color:var(--muted)}
.recorded-audio{min-width:0;margin-top:1rem;padding-top:.85rem;border-top:1px solid var(--line)}
.recorded-audio>b{display:block;margin:0 0 .45rem;font-size:.9rem;font-weight:650;color:var(--ink)}
.recorded-audio audio{display:block;min-width:0;max-width:100%;width:100%;height:44px}
.recorded-audio>div{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:.15rem .75rem;margin-top:.2rem}
.recorded-audio button{min-height:44px;max-width:100%;white-space:normal;overflow-wrap:break-word;text-align:left;font-size:.8rem;line-height:1.45;padding:.5rem .1rem}
@media(max-width:580px){
 .identity-fields{grid-template-columns:1fr;gap:.9rem}
 .guide-backdrop{padding:.8rem}
 .guide-card{max-height:calc(100vh - 1.6rem);max-height:calc(100dvh - 1.6rem);padding:1.2rem}
 .guide-card h2{font-size:1.35rem}
 .guide-heading{gap:.5rem;margin-bottom:1rem}
 .guide-heading>span{font-size:.8rem}
 .guide-heading>.quiet{font-size:.8rem;padding:.5rem .65rem}
 .guide-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:.65rem;margin-top:1.2rem}
 .guide-actions>.primary{min-width:0}
 .delivery-transition{padding:1rem}
 .delivery-ack{font-size:.95rem}
 .institution-footer{gap:.85rem}
}
@media(max-width:420px){
 .institution-footer,.welcome-page .institution-footer{flex-direction:column;align-items:flex-start;gap:.75rem}
 .institution-footer img{width:97.5px;max-width:100%}
}

/* The guide points to the actual control; the selected area keeps its own light. */
.guide-backdrop{display:block;padding:0;background:transparent;overflow:hidden}
.guide-spotlight{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.guide-card{position:fixed;width:min(430px,calc(100vw - 32px));max-width:none;padding:1.2rem 1.4rem;box-shadow:0 12px 35px #173d542b}
.guide-backdrop:not([data-positioned="true"]) .guide-card{visibility:hidden}
.guide-card h2{font-size:1.35rem}
.guide-card>p{line-height:1.6;margin-bottom:1rem}
.guide-heading{margin-bottom:1rem}
.guide-actions{margin-top:1.1rem;padding-top:.9rem}
.figure-reminder{margin:0 0 .8rem;color:var(--muted);font-size:.9rem;line-height:1.55}
.institution-footer .copyright{display:block;margin-top:.65rem;font-size:.8rem;letter-spacing:.015em;color:#637381}
@media(max-width:580px){
 .guide-card{max-height:55vh;max-height:55dvh;padding:1rem 1.15rem}
 .guide-heading>.quiet{font-size:.8rem}
 .guide-card>p{font-size:.95rem}
}

.question-comparison>.captured-evidence{margin-top:1rem;border-top:0;padding-top:0}.question-comparison .comparison-group:first-child{margin-top:0}.comparison-instructions{font-size:.9rem;line-height:1.6;margin:0 0 1rem}.guide-underlay .comparison-instructions{filter:blur(6px);opacity:.5;user-select:none}.comparison-group>.capture-cards{margin-top:1rem}.comparison-group>h3{font-size:1.05rem}.previous-comments{margin:.75rem 0 1rem;border:1px solid var(--line);border-radius:7px;padding:.7rem .8rem;font-size:.9rem}.previous-comments summary{cursor:pointer;font-weight:600}.previous-comment{border-top:1px solid var(--line);margin-top:.75rem;padding-top:.5rem}.previous-comment-text{white-space:pre-wrap;overflow-wrap:anywhere}

/* La escala de escritorio aumenta un 5 % respecto de la vista compacta anterior. */
@media(min-width:1200px){#app{zoom:.7875}}
@media(max-height:800px){.exploration-board{position:static}}

/* Confirmación visible únicamente tras recibir el comprobante del envío. */
.delivery-card>.delivery-sent:disabled{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;opacity:1;background:#edf8f0;color:#175737;border:1.5px solid #78a98b;cursor:default}.delivery-sent-tick{flex:0 0 24px;color:#16803f}@media(max-width:580px){.delivery-backup{display:flex;align-items:stretch;flex-direction:column;margin:.75rem 0 0}.delivery-backup p{max-width:none}.delivery-backup button{width:100%}}

/* Las acciones de entrega forman una sola franja equilibrada. */
.delivery-card:has(>.delivery-backup){display:grid;grid-template-columns:minmax(14rem,.85fr) minmax(20rem,1.15fr);grid-template-areas:"extras extras" "send backup" "status status";align-items:stretch;gap:1rem 1.25rem}
.delivery-card:has(>.delivery-backup)>.delivery-extras{grid-area:extras;margin:0;padding-bottom:1.2rem}
.delivery-card:has(>.delivery-backup)>[data-action="delivery-send"]{grid-area:send;width:100%;min-width:0;margin:0;align-self:stretch}
.delivery-card:has(>.delivery-backup)>.delivery-backup{grid-area:backup;display:grid;grid-template-columns:max-content minmax(0,1fr);align-items:center;gap:.85rem;min-width:0;margin:0;padding:.15rem 0}
.delivery-card:has(>.delivery-backup)>.delivery-backup p{max-width:none;margin:0;font-size:.88rem;line-height:1.5}
.delivery-card:has(>.delivery-backup)>#delivery-status{grid-area:status}
.delivery-card:has(>.delivery-backup)>.delivery-warning,.delivery-card:has(>.delivery-backup)>[data-action="retry-close"]{grid-column:1/-1}
.delivery-card:has(>[data-action="delivery-send"]:disabled:not(.delivery-sent))>[data-action="delivery-send"]{opacity:1;background:#245d7b;color:#fff;cursor:progress}
.delivery-card:has(>[data-action="delivery-send"]:disabled:not(.delivery-sent))>#delivery-status:not(:empty){display:block;margin:0;padding:.8rem 1rem;border-left:4px solid #2d84ad;border-radius:6px;background:#e8f4fa;color:#125979;font-size:1rem;font-weight:750;line-height:1.5}
@media(max-width:760px){
 .delivery-card:has(>.delivery-backup){grid-template-columns:minmax(0,1fr);grid-template-areas:"extras" "send" "backup" "status";gap:.9rem}
 .delivery-card:has(>.delivery-backup)>.delivery-backup{grid-template-columns:minmax(0,1fr);align-items:stretch;gap:.55rem;padding:0}
 .delivery-card:has(>.delivery-backup)>.delivery-backup button{width:100%}
}

/* Standalone local edition. */
.offline-header{gap:1.2rem;align-items:center;flex-wrap:wrap}
.offline-header .brand small{font-size:.62em;font-weight:400;margin-left:.4rem}
.offline-header .parts{position:static;transform:none;gap:.6rem;margin-inline:auto}
.offline-header .parts button{width:auto;height:auto;min-height:42px;padding:.55rem 1rem;border-radius:7px}
.offline-files{position:relative;justify-self:end;width:max-content}.offline-files summary{cursor:pointer;list-style:none;border:1px solid #b7ccda;border-radius:6px;padding:.6rem .9rem;background:#fff}
.offline-files>div{position:absolute;right:0;top:calc(100% + 6px);z-index:90;display:grid;gap:.5rem;background:white;border:1px solid #b7ccda;border-radius:8px;padding:12px;width:250px;box-shadow:0 8px 25px #173a5520}
.offline-files small{padding:4px;font-size:.8rem}
