:root{--font-body:system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans", "Noto Naskh Arabic", "Helvetica Neue", Arial, sans-serif;--color-sky-top:#dff1f7;--color-sky-bottom:#f7f3e8;--color-ink:#1f2a33;--color-ink-soft:#45535e;--color-panel:#fff;--color-accent:#0f6a5f;--color-accent-ink:#fff;--color-border:#767676;--color-warn:#7a4b00;--focus-ring:3px solid #0b4f8a;--control-min:44px;--text-size:1rem}html[data-text-scale=large]{--text-size:1.125rem}html[data-text-scale=extra-large]{--text-size:1.3125rem}*{box-sizing:border-box}html,body{max-inline-size:100%;margin:0;padding:0}body{font-family:var(--font-body);font-size:var(--text-size);color:var(--color-ink);background:linear-gradient(180deg, var(--color-sky-top) 0%, var(--color-sky-bottom) 100%);text-align:start;min-block-size:100vh;line-height:1.6}#root{min-block-size:100vh;min-inline-size:0;max-inline-size:100%}:focus-visible{outline:var(--focus-ring);outline-offset:2px}html[data-reduced-motion=true] *,html[data-reduced-motion=true] :before,html[data-reduced-motion=true] :after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;block-size:1px;inline-size:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{min-block-size:var(--control-min);background:var(--color-panel);color:var(--color-ink);z-index:10;padding-block:.6rem;padding-inline:.9rem;position:absolute;inset-block-start:.5rem;inset-inline-start:.5rem;transform:translateY(-200%)}.skip-link:focus{transform:none}.app-shell{flex-direction:column;inline-size:min(100%,72rem);min-inline-size:0;max-inline-size:100%;margin-inline:auto;padding-block:1rem 3.5rem;padding-inline:1.25rem;display:flex}.mission-chrome{border-block-end:1px solid var(--color-border);flex-flow:column wrap;gap:.5rem;min-inline-size:0;max-inline-size:100%;padding-block-end:.75rem;display:flex}.mission-chrome__identity{flex-wrap:wrap;justify-content:space-between;gap:.5rem;min-inline-size:0;max-inline-size:100%;display:flex}.mission-chrome__module,.mission-chrome__mission{overflow-wrap:anywhere;word-break:break-word;min-inline-size:0;max-inline-size:100%;margin:0}.mission-chrome__module{letter-spacing:.04em;text-transform:uppercase;color:var(--color-ink-soft);font-size:.9rem;font-weight:700}.language-selector,.choice-group__options,.station-map__list,.stamps{flex-wrap:wrap;gap:.5rem;min-inline-size:0;max-inline-size:100%;display:flex}.language-selector__option,.primary-button,.reset-control,.station-map__button,.concept-try button,.lab-hotspot button{font:inherit;min-block-size:var(--control-min);min-inline-size:var(--control-min);border:2px solid var(--color-border);background:var(--color-panel);max-inline-size:100%;color:var(--color-ink);cursor:pointer;overflow-wrap:anywhere;word-break:break-word;border-radius:.75rem;padding-block:.5rem;padding-inline:.9rem}.language-selector__option[aria-pressed=true],.primary-button{border-color:var(--color-accent);background:var(--color-accent);color:var(--color-accent-ink);font-weight:700}.language-selector__option[aria-pressed=true]:before{content:"✓ "}.primary-button:disabled{color:#5c5346;opacity:1;cursor:not-allowed;background:repeating-linear-gradient(-45deg,#f3efe4,#f3efe4 8px,#e7e0d0 8px 16px);border-style:dashed;border-color:#8a7a5a}.station-map__button:disabled{color:#4d5b64;opacity:1;cursor:not-allowed;background:#eef1f3;border-style:dashed;border-color:#8b99a1}.reset-control{color:var(--color-ink-soft);background:0 0;align-self:start;font-weight:500}.reset-control:hover,.reset-control:focus-visible{background:var(--color-panel)}.live-region{color:var(--color-ink-soft);font-size:.9rem}.live-region:empty{display:none}.station-map__list{margin:0;padding:0;list-style:none}.station-map__button{align-items:center;gap:.4rem;display:inline-flex}.station-map__button[data-current=true]{border-color:var(--color-accent);color:var(--color-ink);box-shadow:inset 0 0 0 2px var(--color-accent);background:#e7f6f2;border-style:solid;font-weight:700}.station-map__button[data-earned=true]:not([data-current=true]){color:#1f3d2e;background:#eef6f0;border-color:#2f6f52}.station-map__stamp{justify-content:center;align-items:center;min-inline-size:1.25rem;font-weight:700;display:inline-flex}.station-map__label{overflow-wrap:anywhere;min-inline-size:0}.unavailable-hint{color:var(--color-warn);margin:0;font-weight:600}.app-main{min-inline-size:0;max-inline-size:100%;padding-block-start:1.25rem}.screen{background:var(--color-panel);border:1px solid var(--color-border);border-radius:1rem;flex-direction:column;align-items:start;gap:1rem;min-inline-size:0;max-inline-size:100%;padding-block:1.25rem;padding-inline:1.25rem;display:flex}.screen--entry{padding-block-end:2.5rem}.screen--diagnostic{gap:.75rem}.solution-feedback{border:1px solid var(--color-border);background:#f3faf8;border-radius:.75rem;inline-size:100%;min-inline-size:0;max-inline-size:100%;padding:.75rem}.solution-feedback h2,.solution-feedback p{overflow-wrap:anywhere;word-break:break-word;min-inline-size:0;max-inline-size:100%}.screen--entry .primary-button{margin-block:.5rem .75rem}.screen h1:focus{outline:var(--focus-ring);outline-offset:2px}.screen h1,.screen h2,.screen p{overflow-wrap:anywhere;word-break:break-word;min-inline-size:0;max-inline-size:100%;margin-block:0}.pii-reminder,.device-promise{border-inline-start:4px solid var(--color-warn);color:var(--color-ink-soft);max-inline-size:min(70ch,100%);padding-inline-start:.75rem}.nour-guide{border:1px solid var(--color-border);background:#f3faf8;border-radius:.75rem;inline-size:100%;min-inline-size:0;max-inline-size:100%;padding:.9rem}.nour-guide__text{overflow-wrap:anywhere;word-break:break-word;min-inline-size:0;max-inline-size:100%}.nour-guide__name{color:var(--color-accent);margin:0;font-weight:700}fieldset,.choice-group{min-inline-size:0}.choice-group{border:1px solid var(--color-border);border-radius:.75rem;inline-size:100%;max-inline-size:100%;padding:.75rem}.choice-group__option{min-block-size:var(--control-min);align-items:center;gap:.5rem;min-inline-size:0;max-inline-size:100%;padding-inline:.4rem;display:flex}.choice-group__option span{overflow-wrap:anywhere;word-break:break-word;min-inline-size:0}.concept-card,.dilemma,.idea-summary,.completion-card{border:1px solid var(--color-border);border-radius:.75rem;inline-size:100%;padding:.9rem}.concept-list{flex-direction:column;gap:.75rem;inline-size:100%;min-inline-size:0;display:flex}.concept-card[data-complete=true]{background:#f3faf6;border-color:#2f6f52}.concept-card[data-expanded=true]{box-shadow:inset 0 0 0 2px var(--color-accent)}.concept-card__heading{margin:0}.concept-card__toggle{inline-size:100%;min-block-size:var(--control-min);min-inline-size:var(--control-min);border:2px solid var(--color-border);background:var(--color-panel);color:inherit;font:inherit;text-align:start;cursor:pointer;border-radius:.75rem;flex-wrap:wrap;align-items:center;gap:.5rem;padding-block:.5rem;padding-inline:.65rem;display:flex}.concept-card__title{overflow-wrap:anywhere;flex:12rem;min-inline-size:0;font-weight:700}.concept-card__status{border:2px solid #8a7a5a;border-radius:999px;padding-block:.15rem;padding-inline:.6rem;font-size:.85rem;font-weight:700}.concept-card__status[data-complete=true]{color:#1f3d2e;background:#d9f0e3;border-color:#2f6f52}.concept-card__toggle-action{color:var(--color-accent);font-weight:600}.concept-card__summary{flex-direction:column;gap:.25rem;margin:.6rem 0 0;display:flex}.concept-card__summary-stage{font-weight:700}.concept-card__panel{gap:.75rem;padding-block-start:.75rem;display:grid}.concept-card__panel[hidden]{display:none}.concept-card__steps{flex-wrap:wrap;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.concept-card__steps li{border:2px solid var(--color-border);border-radius:999px;align-items:center;gap:.35rem;min-block-size:2rem;padding-inline:.55rem;display:inline-flex}.concept-card__steps li[data-state=current]{border-color:var(--color-accent);background:#e7f6f2;font-weight:700}.concept-card__steps li[data-state=done]{background:#eef6f0;border-color:#2f6f52}.concept-card__steps li[data-state=upcoming]{color:#4d5b64;border-style:dashed}.concept-card__steps li[data-active=true]{font-weight:700}.concept-card__complete-note{color:#1f3d2e;font-weight:700}.term-card{flex-direction:column;gap:.35rem;display:flex}.panorama{gap:.6rem;display:grid}.panorama__view{border:2px solid var(--color-border);background:#d7ecf6;border-radius:.75rem;min-block-size:7rem;overflow:hidden}.panorama__room{align-items:end;gap:1.5rem;min-block-size:7rem;padding:1rem;transition:transform .16s;display:flex}.panorama__window,.panorama__board,.panorama__desk{border-radius:.35rem;display:block}.panorama__window{background:#8ec8e8;border:3px solid #6d8ea3;block-size:3rem;inline-size:4rem}.panorama__board{background:#3f6d62;block-size:2.4rem;inline-size:6rem}.panorama__desk{background:#8b5a2b;block-size:1.2rem;inline-size:5rem}.panorama__controls{direction:ltr;flex-flow:wrap;justify-content:center;gap:.5rem;display:flex}.virtual-lab-2d{inline-size:100%;min-inline-size:0}.lab-scene{background:#f6ebcf;border:2px solid #8b5a2b;border-radius:1rem;inline-size:100%;min-inline-size:0;position:relative;overflow:visible}.lab-scene__art{block-size:auto;inline-size:100%;max-inline-size:100%;display:block}.lab-scene__hotspots{gap:.6rem;min-inline-size:0;padding:.65rem;display:grid}.lab-hotspot{gap:.35rem;min-inline-size:0;max-inline-size:100%;padding:.35rem;display:grid}.lab-hotspot--microscope .lab-hotspot__spot,.lab-hotspot--circuit .lab-hotspot__spot{z-index:1;width:min(28%,11rem);position:absolute}.lab-hotspot--microscope .lab-hotspot__spot{top:44%;left:6%}.lab-hotspot--circuit .lab-hotspot__spot{top:42%;left:38%}.lab-hotspot--safety .lab-hotspot__pin{z-index:1;width:min(22%,8rem);position:absolute;top:34%;left:72%}.lab-hotspot__spot{font:inherit;min-block-size:var(--control-min);min-inline-size:var(--control-min);max-inline-size:100%;color:var(--color-ink);cursor:pointer;overflow-wrap:anywhere;word-break:break-word;background:#fffef8;border:2px solid #0f6a5f;border-radius:.75rem;flex-wrap:wrap;justify-content:center;align-items:center;gap:.35rem;padding-block:.4rem;padding-inline:.55rem;display:flex;box-shadow:0 4px #8b5a2b}.lab-hotspot__spot:focus-visible{outline:var(--focus-ring);outline-offset:3px;box-shadow:0 0 0 3px #fff,0 0 0 6px #0b4f8a}.lab-hotspot[data-complete=true] .lab-hotspot__spot{background:#e7f6ee;border-color:#2f6f52}.lab-hotspot[data-active=true] .lab-hotspot__spot{box-shadow:0 0 0 3px #fff, 0 0 0 6px var(--color-accent)}.lab-hotspot__icon{font-size:1.2rem}.lab-hotspot__title,.lab-hotspot__state,.lab-hotspot__done,.lab-hotspot__safety p{overflow-wrap:anywhere;background:#ffffffeb;border-radius:.5rem;margin:0;padding:.25rem .4rem}.lab-hotspot__done{border-inline-start:4px solid #2f6f52;gap:.2rem;display:grid}.lab-hotspot__safety{gap:.35rem;display:grid}@media (width<=48rem){.lab-scene__art{min-block-size:12rem}.lab-hotspot--microscope .lab-hotspot__spot,.lab-hotspot--circuit .lab-hotspot__spot,.lab-hotspot--safety .lab-hotspot__pin{width:min(30%,9rem)}.lab-hotspot--microscope .lab-hotspot__spot,.lab-hotspot--circuit .lab-hotspot__spot{top:48%}.lab-hotspot--safety .lab-hotspot__pin{top:38%}}.text-field{flex-direction:column;gap:.35rem;inline-size:100%;display:flex}.text-field input,.text-field textarea{font:inherit;min-block-size:var(--control-min);border:2px solid var(--color-border);border-radius:.5rem;padding:.5rem}.idea-form,.idea-summary dl{gap:.75rem;display:grid}.idea-form{inline-size:100%;min-inline-size:0}.idea-form__progress{flex-wrap:wrap;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.idea-form__progress-button,.idea-form__nav-button{font:inherit;min-block-size:var(--control-min);min-inline-size:var(--control-min);border:2px solid var(--color-border);background:var(--color-panel);color:inherit;cursor:pointer;overflow-wrap:anywhere;border-radius:999px;align-items:center;gap:.35rem;padding-block:.4rem;padding-inline:.7rem;display:inline-flex}.idea-form__progress li[data-state=current] .idea-form__progress-button{border-color:var(--color-accent);background:#e7f6f2;font-weight:700}.idea-form__progress li[data-state=done] .idea-form__progress-button{background:#eef6f0;border-color:#2f6f52}.idea-form__progress li[data-state=upcoming] .idea-form__progress-button{border-style:dashed}.idea-form__section-title{margin:0}.idea-form__nav{flex-wrap:wrap;gap:.5rem;display:flex}.idea-form__nav-button:disabled{color:#4d5b64;cursor:not-allowed;border-style:dashed}.idea-compare{gap:.75rem;inline-size:100%;min-inline-size:0;display:grid}.idea-compare__grid{grid-template-columns:1fr;gap:.75rem;min-inline-size:0;display:grid}@media (width>=48rem){.idea-compare__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.idea-summary[data-variant=first]{background:#f4f8fb;border-color:#6d8ea3}.idea-summary[data-variant=revised]{background:#f3faf6;border-color:#2f6f52}.idea-summary h3{margin:0 0 .5rem}.idea-summary__field[data-mark=changed],.idea-summary__field[data-mark=strengthened]{background:#fff6d8;border-radius:.5rem;padding:.25rem .4rem}.idea-summary__badge{background:#f0d24a;border-radius:999px;margin-inline-start:.4rem;padding-inline:.4rem;font-size:.8rem;font-weight:700;display:inline-block}.idea-summary dt{font-weight:700}.completion-card{color:#f4fff9;background:#14352f;border-color:#0f6a5f}.completion-card__badge{color:#3a2a00;background:#f0d24a;border-radius:999px;margin:0;padding-block:.2rem;padding-inline:.65rem;font-weight:700;display:inline-flex}@media (width<=48rem){.app-shell{padding-block:.45rem 1.5rem;padding-inline:.75rem}.app-main{padding-block-start:.65rem}.mission-chrome{gap:.3rem;padding-block-end:.35rem}.mission-chrome__identity{gap:.25rem}.mission-chrome__module{font-size:.78rem}.language-selector,.station-map__list{gap:.35rem}.station-map__button{padding-inline:.5rem}.screen{gap:.7rem;padding-block:.75rem;padding-inline:.75rem}.screen--diagnostic{gap:.55rem}.screen--diagnostic .nour-guide{padding:.65rem}.screen--diagnostic .choice-group{padding:.55rem}}
