/* Creative laboratory: an open field, followed by practical applications. */
.explore{background:#0b0d0c;padding-bottom:45px;position:relative}.explore-heading{display:grid;grid-template-columns:1fr 1fr;column-gap:10%;align-items:end}.explore-heading .label{grid-column:1/-1;color:#a6e8ff;font-size:11px;margin-bottom:28px}.explore-heading h2{font-size:clamp(34px,4.5vw,65px);line-height:1.45;color:#eef3e5}.explore-heading>p:last-child{color:#b7c1b2;font-size:14px;line-height:2;margin-bottom:30px}.experiment{position:relative;isolation:isolate;min-height:620px;border:1px solid #424b3b;background:radial-gradient(ellipse at 50% 35%,#20312355,transparent 65%),#0c100e;overflow:hidden;margin-top:26px}.experiment-top{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;font-size:11px;color:#a6e8ff;position:relative;z-index:2;border-bottom:1px solid #ffffff15}.field-pause{font:inherit;color:#bdc9b6;background:none;border:1px solid #59634e;padding:7px 12px;cursor:pointer}.field-pause:hover{color:#d5ff45}.field-canvas{position:absolute;inset:50px 0 auto;width:100%;height:390px;pointer-events:none}.field-coordinate{position:absolute;top:100px;left:24px;font-size:9px;writing-mode:vertical-rl;letter-spacing:.12em;color:#72846b}.experiment-caption{position:relative;margin:350px 32px 26px;z-index:1}.field-index{color:#d5ff45;font-size:11px;letter-spacing:.1em}.field-question{font-size:clamp(21px,2.7vw,38px);font-weight:400;margin:10px 0}.field-detail{font-size:14px;color:#bac5b3;margin:0;line-height:1.9}.field-controls{display:flex;border-top:1px solid #424b3b;position:relative;z-index:2}.field-controls button{flex:1;border:0;border-right:1px solid #424b3b;border-radius:0;padding:20px;background:#111711;color:#b4bfae;cursor:pointer;font:inherit;font-size:14px}.field-controls button:last-child{border-right:0}.field-controls button span{font-size:11px;margin-right:15px}.field-controls button.active{background:#d5ff45;color:#11150a}.field-controls button:not(.active):hover{background:#243021;color:#eef3e5}button:focus-visible{outline:2px solid #ffb4d9;outline-offset:-5px}.experiment-note{font-size:11px;color:#a4ae9c;text-align:right;margin:12px 0 0}.services{background:#d9e0d4}.research{border-top:0}.research h2{font-size:clamp(34px,3.6vw,54px)}.about{background:#191e18;color:#f1f0e9;border-top:1px solid #48513f}.about h2{color:#d5ff45}.about .label{color:#a6e8ff}.about-intro{color:#c6d0bf}.steps{border-color:#536348}.steps article+article{border-color:#536348}.steps h3{color:#d5ff45}.steps p{color:#c6d0bf}.contact{background:#d5ff45;color:#11150a}.contact h2{color:#11150a}.contact .label{color:#34431e}.contact>p:not(.label),.contact-status span:last-child{color:#34431e}.contact-status .pixel{color:#253818;border-color:#71813c}
@media(max-width:760px){nav a[href="#explore"]{display:inline}nav a[href="#services"]{display:none}.explore-heading{display:block}.explore-heading h2{font-size:34px}.explore-heading>p:last-child{font-size:13px}.experiment{min-height:0;margin-top:25px}.experiment-top{font-size:8px;padding:14px 12px;gap:10px}.field-pause{padding:6px;white-space:nowrap;font-size:9px;min-height:36px}.field-canvas{height:290px;top:65px}.field-coordinate{left:12px;top:90px;font-size:8px}.experiment-caption{margin:285px 20px 25px}.field-question{font-size:23px;line-height:1.6}.field-detail{font-size:12px}.field-controls button{padding:17px 5px;font-size:12px}.field-controls button span{margin-right:5px}.experiment-note{text-align:left;font-size:10px}.steps article+article{border-color:#536348}}
/* A single material to explore, rather than three arbitrary categories. */
.experiment{min-height:0;background:#0c100e}.field-surface{position:relative;height:clamp(280px,38vw,540px);overflow:hidden;touch-action:pan-y;cursor:crosshair;background-image:radial-gradient(#53614355 .6px,transparent .6px);background-size:24px 24px}.field-canvas{inset:0;width:100%;height:100%;pointer-events:none}.field-hint{position:absolute;bottom:22px;left:0;right:0;text-align:center;font-size:11px;color:#a4b59b;pointer-events:none;letter-spacing:.06em}.field-bottom{display:flex;justify-content:space-between;align-items:center;gap:25px;border-top:1px solid #424b3b;padding:26px 30px}.field-bottom p{margin:0;font-size:20px;line-height:1.8}.field-bottom p span{font-size:13px;color:#afbfaa}.field-release{flex-shrink:0;border:1px solid #d5ff45;background:transparent;color:#d5ff45;font:inherit;font-size:14px;padding:15px 25px;cursor:pointer;min-width:140px}.field-release:hover{background:#d5ff45;color:#11150a}.field-release span{margin-left:16px}@media(max-width:760px){.field-surface{height:300px}.field-hint{font-size:10px;bottom:24px;letter-spacing:0}.field-bottom{padding:22px 18px;align-items:flex-start;flex-direction:column;gap:18px}.field-bottom p{font-size:18px}.field-bottom p span{font-size:12px}.field-release{padding:12px 20px;align-self:flex-end;font-size:13px}}
.inquiry-tabs{display:grid;grid-template-columns:repeat(3,1fr);margin-top:42px;border-top:1px solid #56604d;border-bottom:1px solid #56604d}.inquiry-tabs button{display:flex;flex-direction:column;gap:12px;align-items:flex-start;background:transparent;color:#c7d1bf;border:0;border-right:1px solid #56604d;padding:23px 25px;cursor:pointer;text-align:left}.inquiry-tabs button:last-child{border-right:0}.inquiry-tabs span{font-size:10px;letter-spacing:.03em}.inquiry-tabs strong{font-size:30px;font-weight:400;font-family:Dot,monospace}.inquiry-tabs button[aria-pressed=true]{background:#d5ff45;color:#151b0d}.inquiry-tabs button:nth-child(2)[aria-pressed=true]{background:#ffb4d9}.inquiry-tabs button:nth-child(3)[aria-pressed=true]{background:#a6e8ff}.inquiry-tabs button:hover:not([aria-pressed=true]){background:#20291c}.inquiry-copy{display:grid;grid-template-columns:1fr 1fr;gap:12px 7%;padding:35px 0 10px;min-height:185px}.inquiry-copy h3{font-size:clamp(23px,2.5vw,36px);font-weight:400;line-height:1.7;margin:0}.inquiry-copy p{font-size:14px;line-height:2;color:#c2ceb9;margin:0}.inquiry-evidence{grid-column:2;font-size:11px;color:#a6b29c}.inquiry-footnote{font-size:14px;line-height:2;color:#b7c5ae;text-align:center;margin:38px 0 8px}.experiment[data-mode="1"] .field-release{border-color:#ffb4d9;color:#ffb4d9}.experiment[data-mode="2"] .field-release{border-color:#a6e8ff;color:#a6e8ff}.experiment[data-mode="1"] .field-release:hover{background:#ffb4d9;color:#111}.experiment[data-mode="2"] .field-release:hover{background:#a6e8ff;color:#111}
@media(max-width:760px){.inquiry-tabs{margin-top:30px}.inquiry-tabs button{padding:17px 10px;gap:10px}.inquiry-tabs span{font-size:8px;max-width:80px;min-height:26px}.inquiry-tabs strong{font-size:24px}.inquiry-copy{display:block;min-height:225px;padding-top:25px}.inquiry-copy h3{font-size:23px;margin-bottom:14px}.inquiry-copy p{font-size:13px;margin-bottom:15px}.inquiry-evidence{font-size:10px}.inquiry-footnote{font-size:12px}.field-release{min-width:150px}}
/* An open playground. Shape and touch can be combined freely. */
.playground{background:#0b0e0c;padding-top:65px;padding-bottom:75px}.play-heading{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:24px;gap:20px}.play-heading>span{font-size:13px;letter-spacing:.1em;color:#d5ff45}.play-heading p{font-size:14px;color:#bdcbb3;margin:0}.play-stage{border:1px solid #414e39;background:#0c100e}.play-toolbar{display:flex;justify-content:space-between;align-items:center;padding:14px 20px;border-bottom:1px solid #ffffff12;gap:12px}.play-current{color:#a6e8ff;font-size:13px}.play-toolbar>div{display:flex;gap:10px}.play-toolbar button,.play-actions button{color:#bcccaf;background:none;border:1px solid #4e5d43;padding:9px 14px;cursor:pointer;font-size:12px}.play-toolbar button:hover,.play-actions button:hover{color:#101110;background:#d5ff45}.play-stage .field-surface{height:clamp(300px,34vw,480px)}.play-actions{display:flex;justify-content:center;gap:12px;padding:0 20px 22px}.play-actions button:first-child{border-color:#a6e8ff;color:#a6e8ff}.play-actions button:first-child:hover{color:#101110;background:#a6e8ff}.play-settings{display:grid;grid-template-columns:1fr 240px;gap:35px;margin-top:30px}.play-setting>p{font-size:11px;letter-spacing:.1em;color:#a6e8ff;margin:0 0 16px}.play-setting>p span{margin-left:14px;font:11px Arial;color:#b2bdaa}.shape-options{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}.touch-options{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.play-setting button{min-height:44px;font-size:12px;border:1px solid #404b38;background:transparent;color:#d2deca;cursor:pointer;padding:10px 8px}.shape-options button span{color:#899a7d;font-size:10px;margin-right:5px}.shape-options button[aria-pressed=true]{background:#d5ff45;border-color:#d5ff45;color:#172009}.shape-options button[aria-pressed=true] span{color:#425426}.touch-options button[aria-pressed=true]{background:#ffb4d9;border-color:#ffb4d9;color:#281a20}.play-setting button:hover:not([aria-pressed=true]){background:#24301e}.playground button:focus-visible{outline:2px solid #ffb4d9;outline-offset:3px}
@media(max-width:900px){.play-settings{grid-template-columns:1fr}.touch-options{grid-template-columns:repeat(4,1fr)}}@media(max-width:760px){.playground{padding:45px 5% 60px}.play-heading{display:block}.play-heading>span{font-size:12px}.play-heading p{font-size:12px;margin-top:9px}.play-toolbar{padding:12px;gap:8px}.play-toolbar button{font-size:10px;padding:8px;min-height:36px}.play-toolbar>div{gap:5px}.play-current{font-size:11px}.shape-options{grid-template-columns:repeat(3,1fr)}.play-settings{gap:25px;margin-top:25px}.play-setting button{font-size:11px}.touch-options{gap:5px}.play-actions button{min-height:42px;font-size:11px}.play-stage .field-surface{height:310px}}
.mini-layer{position:absolute;inset:6% 8% 15%;pointer-events:none}.mini-layer svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.mini-target{--target-size:46px;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:var(--target-size);height:var(--target-size);border:1px solid #a6e8ff;background:#101a16ed;color:#a6e8ff;border-radius:50%;font:20px Dot,monospace;cursor:pointer;pointer-events:auto;transition:background .18s,border-color .18s}.mini-target.mini-next{border-color:#d5ff45;color:#d5ff45;box-shadow:0 0 20px #d5ff4526}.mini-target:hover{background:#d5ff45;color:#172009}.mini-target.mini-hit{opacity:1;background:#d5ff45;color:#18200d;border-color:#d5ff45;cursor:default}.mini-target.mini-heart-on{background:#ffb4d9;color:#23121b}.mini-layer[data-game="4"] .mini-hit{background:none;border-color:transparent;color:#ffb4d9;font-size:42px}.mini-layer[data-game="8"] button{border-radius:8px}.mini-target[data-color="0"]{background:#d5ff45;color:#273214}.mini-target[data-color="1"]{background:#ffb4d9;color:#412633}.mini-target[data-color="2"]{background:#a6e8ff;color:#1c3942}.mini-status{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:16px 22px;border-top:1px solid #3b4a32;min-height:75px}.mini-goal{font-size:13px;color:#e6efdf;line-height:1.8}.mini-replay{background:none;color:#b9c9ae;border:1px solid #4e5d43;padding:10px 12px;white-space:nowrap;cursor:pointer;min-height:42px}.play-actions{padding-top:10px}.mini-fish{animation:fish-drift 2.8s ease-in-out infinite alternate}.mini-won .mini-fish{animation-play-state:paused}@keyframes fish-drift{from{margin-left:-18px}to{margin-left:18px}}.field-surface:has(+.mini-status) .field-hint{bottom:12px}.play-stage:has(.field-pause[aria-pressed="true"]) .mini-fish{animation-play-state:paused}@media(prefers-reduced-motion:reduce){.mini-fish{animation:none}.mini-target{transition:none}}@media(max-width:760px){.mini-layer{inset:3% 2% 14%}.mini-status{padding:14px 12px;gap:8px}.mini-goal{font-size:11px}.mini-replay{font-size:10px;padding:8px}.mini-target{--target-size:44px;font-size:18px}.field-hint{font-size:9px}}
[hidden]{display:none!important}.arcade-switch{display:flex;gap:8px;margin:20px 0}.arcade-switch button{background:transparent;color:#c4d5b7;border:1px solid #586c49;padding:12px 22px;font:13px Dot,monospace;cursor:pointer}.arcade-switch button[aria-pressed=true]{background:#d5ff45;color:#142008;border-color:#d5ff45}.arcade{border:1px solid #526146;background:#080e0b}.arcade-hud{display:flex;align-items:center;gap:25px;padding:14px 22px;border-bottom:1px solid #36482e;font-size:13px}.arcade-level{color:#d5ff45;margin-right:auto}.arcade-score{color:#a6e8ff}.arcade-lives{color:#ffb4d9;white-space:nowrap}.arcade-pause{background:none;color:#bfd1b4;border:1px solid #526146;padding:8px 12px;cursor:pointer;font-size:11px}.arcade-pause:disabled{opacity:.4;cursor:default}.arcade-screen{position:relative;height:540px}.arcade-canvas{width:100%;height:100%;display:block;touch-action:none;outline-offset:-4px}.arcade-overlay{position:absolute;inset:0;background:#0b110ce8;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:25px}.arcade-kicker{font-size:12px;color:#a6e8ff;letter-spacing:.1em}.arcade-title{font-size:clamp(36px,5vw,65px);color:#d5ff45;font-weight:400;margin:15px 0}.arcade-description{font-size:14px;line-height:2;color:#d6dfce;max-width:460px}.arcade-start{margin-top:20px;min-width:180px;border:0;background:#d5ff45;color:#122008;font:16px Dot,monospace;padding:16px 28px;cursor:pointer}.arcade-foot{display:flex;justify-content:space-between;gap:12px;border-top:1px solid #36482e;padding:16px 22px;font-size:11px;color:#b4c3a8}.arcade-combo{color:#ffb4d9;white-space:nowrap}.arcade-message{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}@media(max-width:760px){.arcade-screen{height:440px}.arcade-hud{padding:12px 10px;gap:10px;font-size:10px;flex-wrap:wrap}.arcade-level{min-width:100px}.arcade-pause{font-size:10px;padding:7px}.arcade-foot{font-size:9px;padding:14px 10px;flex-wrap:wrap}.arcade-description{font-size:12px}.arcade-switch button{padding:12px 11px;font-size:11px}.arcade-title{font-size:35px}.arcade-kicker{font-size:10px}}
.resident-play{position:relative}.resident-caption{display:flex;justify-content:space-between;align-items:center;gap:15px;border-top:1px solid #425035;padding-top:24px}.resident-caption>span{color:#d5ff45;font-size:24px}.resident-pause{background:none;border:1px solid #4d6041;color:#bdcbb2;font-size:11px;padding:10px;cursor:pointer}.resident-stage{height:430px;position:relative;overflow:hidden;background:radial-gradient(ellipse at 50% 95%,#d5ff450c,transparent 60%)}.resident-ground{position:absolute;bottom:52px;left:10%;right:10%;border-top:1px solid #65784e}.resident-tower{position:absolute;left:46%;bottom:53px;width:50px;height:0}.resident-block{position:absolute;display:flex;align-items:center;justify-content:center;width:50px;height:36px;bottom:calc(var(--row)*36px);background:#d5ff45;color:#19210f;border:1px solid #152108;font:22px Dot,monospace;transform:translateX(var(--lean)) rotate(var(--angle));animation:block-arrive .45s ease-out both}.resident-block:nth-child(3n+2){background:#ffb4d9}.resident-block:nth-child(3n){background:#a6e8ff}.resident-character{position:absolute;bottom:52px;left:calc(46% + 95px);background:none;border:0;padding:0;cursor:pointer;width:96px;height:155px;transform-origin:50% 100%;transition:transform .3s}.resident-character img{height:135px;width:auto;image-rendering:pixelated;transform:scaleX(-1)}.resident-bubble{position:absolute;bottom:100%;left:0;transform:translateX(-30%);font-size:13px;color:#dfebd5;white-space:nowrap;padding:8px 13px;border:1px solid #596f46;background:#101810}.resident-reaction{position:absolute;bottom:235px;left:calc(46% + 130px);font-size:26px;color:#ffb4d9;pointer-events:none}.resident-cloud{position:absolute;top:65px;left:26%;font-size:60px;color:#a6e8ff;transform:rotate(-15deg)}.resident-actions{display:flex;justify-content:center;gap:14px}.resident-actions button{border:1px solid #73885c;background:none;color:#d5ff45;font:15px Dot,monospace;padding:14px 24px;cursor:pointer}.resident-actions button:first-child{color:#ffb4d9;border-color:#a8728d}.resident-actions button:hover{background:#d5ff45;color:#16220c}.resident-actions button:first-child:hover{background:#ffb4d9}.resident-note{text-align:center;color:#b6c5a9;font-size:12px;min-height:24px;margin:20px 0 35px}.resident-more{display:block;margin:0 auto;background:none;border:0;border-bottom:1px solid #506042;padding:10px 0;color:#b5c5a7;font-size:12px;cursor:pointer}.resident-proud .resident-character{animation:resident-hop .65s ease-out}.resident-surprised .resident-character{transform:rotate(12deg) translateX(18px)}.resident-falling{animation:resident-fall .7s ease-in forwards!important}.resident-still *{animation:none!important;transition:none!important}.resident-still .resident-falling{transform:translate(var(--fall-x),var(--fall-y)) rotate(75deg)}@keyframes block-arrive{from{opacity:0;translate:0 -35px}to{opacity:1;translate:0 0}}@keyframes resident-hop{0%,100%{translate:0 0}50%{translate:0 -30px;rotate:-7deg}}@keyframes resident-fall{to{transform:translate(var(--fall-x),var(--fall-y)) rotate(75deg);opacity:.6}}@media(max-width:760px){.resident-caption>span{font-size:19px}.resident-pause{font-size:9px}.resident-stage{height:350px}.resident-ground{left:2%;right:2%}.resident-tower{left:31%;width:42px}.resident-block{width:42px;height:32px;bottom:calc(var(--row)*32px);font-size:19px}.resident-character{left:calc(31% + 70px);width:76px;height:120px}.resident-character img{height:105px}.resident-bubble{font-size:11px;transform:translateX(-45%)}.resident-reaction{left:calc(31% + 90px);bottom:220px;font-size:23px}.resident-cloud{left:12%;top:35px;font-size:38px}.resident-actions{gap:10px}.resident-actions button{padding:12px 16px;font-size:13px}}@media(prefers-reduced-motion:reduce){.resident-play *{animation:none!important;transition:none!important}}
