@font-face{font-family:"Shantell Sans";src:url("./assets/fonts/shantell-extra-bold.woff2") format("woff2");font-style:normal;font-weight:800;font-display:swap}
@font-face{font-family:Lato;src:url("./assets/fonts/lato-regular.ttf") format("truetype");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Lato;src:url("./assets/fonts/lato-bold.ttf") format("truetype");font-style:normal;font-weight:700 900;font-display:swap}
@font-face{font-family:Gaegu;src:url("./assets/fonts/gaegu-bold.woff2") format("woff2");font-style:normal;font-weight:700;font-display:swap}
:root{--cream:#FFF8E9;--ink:#302A32;--lilac:#D9A9FF;--coral:#FD8585;--yellow:#FEFCAF;--display:"Shantell Sans","Comic Sans MS",cursive;--body:Lato,Arial,sans-serif;--hand:Gaegu,"Comic Sans MS",cursive;--region-color:var(--yellow)}
*{box-sizing:border-box}
body{margin:0;color:var(--ink);background:var(--cream);font:16px/1.5 var(--body)}
button,select{font:inherit;color:inherit}button,a,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.48;cursor:default}button:focus-visible,a:focus-visible,select:focus-visible{outline:3px dashed var(--ink);outline-offset:5px}button{transition:background .15s,transform .15s,box-shadow .15s}button:not(:disabled):active{transform:translateY(2px)}a{color:inherit}img{max-width:100%;display:block}h1,h2,h3,p{margin:0}[hidden]{display:none!important}.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.skip-link{position:fixed;left:16px;top:-100px;z-index:10;padding:12px;background:var(--yellow);border:3px solid var(--ink)}.skip-link:focus{top:12px}
.lab{max-width:1680px;margin:auto;padding:0 24px}.intro{position:relative;text-align:center;padding:20px 0 21px}.intro h1{font:800 clamp(30px,4.45vw,72px)/1.1 var(--display);letter-spacing:-.045em}.intro>p{font:700 clamp(22px,2.2vw,33px)/1.2 var(--hand);margin-top:6px}.margin-note{position:absolute;right:7px;bottom:18px;font:700 20px/1 var(--hand);transform:rotate(-8deg);text-align:left}.boot-message{margin-bottom:14px;padding:12px 16px;border:2px solid var(--ink);border-radius:10px;background:var(--yellow)}
.workbench{display:grid;grid-template-columns:225px minmax(0,1fr) 265px;gap:13px;align-items:start}.panel{border:3px solid var(--ink);border-radius:15px;overflow:hidden;min-width:0}.panel-heading{background:#E7CDFF;padding:13px 14px;font:700 27px/1.1 var(--hand);border-bottom:2px solid var(--ink)}.departments{min-height:465px;grid-column:1;grid-row:1}.region-buttons{padding:10px 8px;display:flex;flex-direction:column;gap:7px}.region-button{display:flex;align-items:center;gap:8px;width:100%;min-height:48px;border:2px solid transparent;border-radius:10px;text-align:left;padding:6px;background:transparent;font:700 20px/1.1 var(--hand)}.region-number{display:grid;place-items:center;flex-shrink:0;width:31px;height:31px;border:2px solid var(--ink);border-radius:50%;background:var(--region-color);font:700 12px var(--body)}.region-button:hover,.region-button[aria-pressed=true]{border-color:var(--ink);background:var(--region-color)}.show-all{display:flex;align-items:center;justify-content:space-between;gap:8px;width:calc(100% - 26px);margin:0 13px;padding:12px 0;border:0;border-top:2px solid var(--ink);background:transparent;font-weight:700;font-size:13px}.show-all[aria-pressed=true]{text-decoration:underline;text-underline-offset:4px}.department-note{padding:4px 15px 16px;font:700 22px/1 var(--hand);color:#65556D;transform:rotate(-3deg)}
.specimen{min-width:0;grid-column:2;grid-row:1}.stage{height:clamp(410px,51vh,620px);position:relative;overflow:hidden;background:#E5D5FB;border:3px solid var(--ink);border-radius:15px;isolation:isolate}.stage-top{position:absolute;z-index:2;top:15px;left:20px;right:20px;display:flex;align-items:center;justify-content:space-between;gap:10px;pointer-events:none}.specimen-tag{font:700 10px var(--body);letter-spacing:.12em}.mode-label{font:700 15px var(--hand)}.canvas-mount{position:absolute;inset:0}.canvas-mount canvas{display:block;width:100%;height:100%;outline-offset:-7px!important}.stage-status{position:absolute;z-index:2;top:42%;left:12%;right:12%;padding:14px;text-align:center;font:700 26px/1.1 var(--hand);background:var(--cream);border:2px solid var(--ink);border-radius:12px}.stage-status span{display:block;margin-top:7px;font-size:20px}.sleeper-cameo{position:absolute;z-index:1;left:13px;bottom:14px;width:clamp(100px,12vw,170px);height:auto;pointer-events:none;transform:rotate(-6deg);border:2px solid var(--ink);border-radius:12px;box-shadow:3px 3px 0 var(--ink)}.stage-hint{position:absolute;z-index:2;bottom:13px;left:160px;right:22px;text-align:right;font:700 17px/1.1 var(--hand);pointer-events:none}.scanner-corner{position:absolute;z-index:2;width:17px;height:17px;border:3px solid var(--ink);pointer-events:none}.scanner-corner--tl{top:9px;left:9px;border-right:0;border-bottom:0;border-radius:5px 0 0 0}.scanner-corner--tr{top:9px;right:9px;border-left:0;border-bottom:0;border-radius:0 5px 0 0}.scanner-corner--bl{bottom:9px;left:9px;border-top:0;border-right:0;border-radius:0 0 0 5px}.scanner-corner--br{bottom:9px;right:9px;border-top:0;border-left:0;border-radius:0 0 5px 0}.viewer-toolbar{display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 0 0;flex-wrap:wrap}.viewer-toolbar button{border:2px solid var(--ink);background:var(--cream);border-radius:8px;min-height:44px;padding:6px 10px;font:700 18px var(--hand)}.viewer-toolbar button:hover:not(:disabled),.viewer-toolbar button[aria-pressed=true]{background:var(--yellow)}.zoom-controls{display:flex;gap:4px}.zoom-controls button{min-width:37px;font-size:20px;padding:0}.is-unavailable .sleeper-cameo{opacity:.8}.is-unavailable .stage-status{top:30%}
.inspector{grid-column:3;grid-row:1;max-height:calc(clamp(410px,51vh,620px) + 50px);overflow-y:auto;scrollbar-width:thin;scrollbar-color:#9C82B0 var(--cream)}.inspector .panel-heading{background:var(--region-color);position:sticky;top:0;z-index:1}.inspector-body{padding:15px}.region-description{font:400 15px/1.5 var(--body)}.region-counts{margin:12px 0;font-size:11px;color:#65556D;font-weight:700}.inspector-hint{border-top:2px solid var(--ink);padding-top:12px}.inspector-hint>span{display:block;font:800 56px/.8 var(--display);padding-bottom:15px}.inspector-hint>p{font-size:14px}.inspector-hint .hand-note{font:700 22px/1.1 var(--hand);padding-top:28px;transform:rotate(-5deg)}.cell-heading{border-top:2px solid var(--ink);padding-top:14px;margin-top:14px}.lab .eyebrow{font:700 10px var(--body);letter-spacing:.13em;text-transform:uppercase}.cell-heading h3{font:800 20px/1.2 var(--display);margin-top:5px}.cell-heading p{font-size:13px;font-weight:700;margin-top:7px}.inspector label{display:block;margin:16px 0 6px;font-weight:700;font-size:12px}.inspector select{width:100%;min-height:42px;padding:7px;border:2px solid var(--ink);border-radius:7px;background:var(--cream);font-size:12px}.connections-title{margin-top:18px;font:700 20px/1.1 var(--hand)}.neighbors{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}.neighbor{border:1.5px solid var(--ink);border-radius:6px;background:var(--region-color);padding:6px 8px;font-size:12px;min-height:34px;text-align:left}
.signal-lab{grid-column:1/-1;grid-row:2;margin-top:10px;padding:22px 0;border-top:3px solid var(--ink);border-bottom:3px solid var(--ink);display:grid;grid-template-columns:225px 1fr;align-items:center;gap:13px}.signal-heading h2{font:700 35px/1.05 var(--hand)}.signal-heading p{font:700 18px/1.05 var(--hand);margin-top:5px}.stimuli{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;padding-right:5px}.stimulus-button{display:flex;align-items:center;justify-content:center;gap:12px;min-height:72px;border:3px solid var(--ink);border-radius:14px;box-shadow:4px 5px 0 var(--ink);background:var(--coral);padding:9px 12px;font:700 26px/1 var(--hand);text-align:left}.stimulus-button:nth-child(2){background:var(--cream)}.stimulus-button:nth-child(3){background:var(--lilac)}.stimulus-button:nth-child(4){background:var(--yellow)}.stimulus-number{font:800 23px var(--display);opacity:.6}.stimulus-button:hover{transform:translate(-1px,-2px);box-shadow:5px 7px 0 var(--ink)}.stimulus-button[aria-pressed=true]{transform:translate(3px,3px);box-shadow:1px 2px 0 var(--ink)}
.signal-feedback{grid-column:1/-1;margin-top:4px;font:700 22px/1.15 var(--hand);min-height:26px}.thought-lab{padding:27px 0 30px;display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:35px}.journey-heading{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap}.journey-heading h2{font:700 29px var(--hand)}.journey-heading>p{font-size:12px;color:#65556D}.trace-empty{max-width:560px;font-size:14px;line-height:1.6;margin-top:10px;color:#65556D}.trace{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:10px;margin:16px 0 0;counter-reset:route}.trace li{position:relative;max-width:200px;counter-increment:route}.trace-cell{display:block;width:100%;height:100%;border:2px solid var(--ink);border-radius:9px;padding:9px 12px 9px 30px;background:var(--cream);font-weight:700;font-size:13px;text-align:left;position:relative}.trace-cell:before{content:counter(route);position:absolute;left:10px;top:12px;font:700 13px var(--hand)}.trace-cell small{display:block;font-size:10px;font-weight:400;margin-bottom:4px}.trace li.is-visited .trace-cell{background:var(--region-color)}.trace li.is-current .trace-cell{box-shadow:3px 3px 0 var(--ink)}.staff-statement{position:relative;background:var(--yellow);border:3px solid var(--ink);border-radius:4px 15px 15px 15px;padding:18px 21px;box-shadow:4px 4px 0 var(--ink);transform:rotate(1deg)}.staff-statement blockquote{font:700 26px/1.13 var(--hand);margin:11px 0 16px}.statement-note{display:block;font-size:10px}.is-waiting{opacity:.6}.lab-footer{padding:20px 0 25px;border-top:2px solid var(--ink);display:flex;justify-content:space-between;gap:30px;font-size:11px;color:#65556D}.lab-footer>p:last-child{max-width:490px;text-align:right}.lab-footer strong{color:var(--ink)}.lab-footer span{padding:0 8px}
@media(min-width:1600px){.workbench{grid-template-columns:250px minmax(0,1fr) 285px}.signal-lab{grid-template-columns:250px 1fr}.stage{height:580px}.inspector{grid-column:3;grid-row:1;max-height:630px}.departments{min-height:580px}.region-button{min-height:60px;font-size:23px}.department-note{margin-top:25px}.region-description{font-size:16px}.stage-hint{font-size:20px}}
@media(max-width:1250px){.workbench{grid-template-columns:195px minmax(0,1fr) 225px}.region-button{font-size:18px;gap:6px}.region-number{width:27px;height:27px}.panel-heading{font-size:24px;padding:12px}.margin-note{display:none}.signal-lab{grid-template-columns:195px 1fr}.stimulus-button{font-size:23px;gap:8px}.stimulus-number{font-size:18px}.thought-lab{grid-template-columns:minmax(0,1fr) 290px;gap:24px}.inspector-body{padding:12px}.stage-top{left:20px;right:15px}.mode-label{font-size:13px}.stage-hint{left:130px;font-size:16px}}
@media(max-width:1020px){.workbench{grid-template-columns:190px minmax(0,1fr)}.inspector{grid-column:1/-1;grid-row:3;max-height:none;display:grid;grid-template-columns:190px 1fr}.inspector .panel-heading{position:static;border-bottom:0;border-right:2px solid var(--ink)}.inspector-body{padding:16px}.inspector-hint{display:none}.inspector .region-description{font-size:16px}.cell-heading{margin-top:10px}.neighbors{gap:8px}.neighbor{min-height:38px}.signal-lab{grid-template-columns:1fr;gap:18px;margin-top:12px}.signal-heading{display:flex;align-items:baseline;gap:18px}.signal-heading p br{display:none}.thought-lab{grid-template-columns:minmax(0,1fr) 280px}.stage{height:440px}.departments{min-height:440px}.intro h1{font-size:clamp(30px,5.3vw,56px)}.intro{padding:22px 0}.region-counts{font-size:12px}}
@media(max-width:680px){.lab{padding:0 14px}.intro{padding:23px 0 20px}.intro h1{max-width:380px;margin:auto;font-size:36px;line-height:1.07;letter-spacing:-.04em}.intro>p{font-size:24px}.workbench{display:flex;flex-direction:column;gap:17px}.specimen{order:0;width:100%}.departments{order:2;width:100%;min-height:0}.inspector{order:3;width:100%;display:block;max-height:none}.inspector .panel-heading{border-right:0;border-bottom:2px solid var(--ink)}.stage{height:405px}.stage-top{top:14px;left:19px;right:18px}.stage-hint{font-size:16px;left:150px;right:16px;bottom:18px}.sleeper-cameo{width:120px}.viewer-toolbar{gap:6px;justify-content:space-between}.viewer-toolbar button{font-size:16px;padding:6px;min-height:44px}.zoom-controls{gap:4px}.zoom-controls button{font-size:20px;min-width:32px}.region-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:10px;gap:5px}.region-button{font-size:20px;min-height:51px}.show-all{font-size:13px}.department-note{display:none}.panel-heading{font-size:27px}.inspector-body{padding:17px}.inspector-hint{display:block}.inspector-hint>span,.inspector-hint .hand-note{display:none}.signal-lab{order:1;width:100%;margin-top:3px;padding:20px 0 24px}.signal-heading{display:block}.signal-heading h2{font-size:34px}.signal-heading p{font-size:19px;margin-top:4px}.stimuli{grid-template-columns:1fr 1fr;gap:14px 12px}.stimulus-button{min-height:76px;font-size:24px;padding:10px;gap:10px}.thought-lab{display:block;padding-top:24px}.staff-statement{margin:26px 4px 6px 0;padding:20px;transform:rotate(-1deg)}.staff-statement blockquote{font-size:28px}.journey-heading h2{font-size:29px}.journey-heading>p{font-size:12px}.lab-footer{display:block;font-size:11px}.lab-footer>p:last-child{text-align:left;margin-top:12px}.trace li{max-width:100%}.trace-cell{min-height:54px}.stage-status{left:8%;right:8%}}
@media(max-width:360px){.region-buttons{grid-template-columns:1fr}.region-button{min-width:0}.viewer-toolbar{justify-content:center;gap:7px}.intro h1{font-size:32px}.stimulus-button{font-size:22px;gap:6px}.stimulus-number{font-size:16px}}
.brain-page .skip-link{z-index:110}.brain-page .footer__brand>a{flex-shrink:0}.brain-page #departments{scroll-margin-top:90px}
@media(max-width:900px){.brain-page .nav__links{visibility:hidden}.brain-page .nav__links.is-open{visibility:visible}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}.stimulus-button:hover{transform:none}}
