@import "https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:ital,wght@0,100..700;1,100..700&display=swap";:root{--bg:#fff;--text:#060519;--muted:#4b4b5d;--quiet:#777789;--line:#e8e8ee;--focus:#111127;--cell-size:36px;--cell-gap:12px;--font:"IBM Plex Sans", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;color:var(--text);background:var(--bg);font-family:var(--font);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{background:var(--bg);min-width:320px;height:100vh;margin:0;overflow:hidden}button{font:inherit}#app,.page-shell{height:100vh}.page-shell{width:100%}.sources-link{z-index:10;color:var(--quiet);cursor:pointer;letter-spacing:.08em;text-transform:uppercase;background:0 0;border:0;font-size:.8rem;position:fixed;bottom:clamp(14px,2.6vh,28px);right:clamp(16px,3vw,34px)}.sources-link:hover,.sources-link:focus-visible{color:var(--text);text-decoration:underline}.grid-screen,.question-screen,.sources-screen-content{align-content:center;justify-items:center;height:100vh;padding:clamp(18px,3.2vh,34px) clamp(28px,5vw,64px);display:grid;overflow:hidden}.grid-screen{grid-auto-rows:max-content;gap:clamp(14px,2.2vh,24px)}.response-screen{grid-template-rows:minmax(0,auto) minmax(0,1fr) minmax(0,auto);align-content:stretch;gap:clamp(10px,1.5vh,18px)}.question-screen{align-content:center;justify-items:start;max-width:1060px;margin:0 auto}.sources-screen-content{justify-items:start;padding-bottom:clamp(50px,7vh,76px)}.sources-panel{width:min(900px,100%)}.sources-panel h1{max-width:none;margin-bottom:clamp(28px,5vh,46px)}.sources-list{color:var(--text);gap:24px;margin:0 0 34px;padding-left:1.4em;font-size:clamp(1rem,1.5vw,1.25rem);line-height:1.45;display:grid}.sources-list li{text-indent:-1.5em;padding-left:1.5em}.sources-list a{color:inherit;overflow-wrap:anywhere}.screen-copy{width:min(920px,100%)}.intro-copy{text-align:left}.response-copy,.ending-copy{text-align:center}.response-copy{align-self:end}h1,h2,p{margin-top:0}h1{letter-spacing:0;max-width:11ch;margin-bottom:min(4vh,32px);font-size:clamp(3.25rem,min(8.4vw,11vh),7rem);font-weight:760;line-height:.92}h2{letter-spacing:0;max-width:980px;margin-bottom:clamp(22px,4vh,42px);font-size:clamp(1.9rem,min(4.5vw,7vh),4.8rem);font-weight:720;line-height:1.05}.subtitle{color:var(--text);font-size:clamp(1.15rem,min(2.2vw,3.2vh),1.85rem);line-height:1.35}.intro-copy .subtitle{max-width:760px;margin-bottom:0}.grid-wrap{place-items:center;width:max-content;max-width:100%;display:grid}.single-square-wrap{aspect-ratio:1;place-items:center;width:min(62vh,760px,100vw - clamp(56px,10vw,128px));display:grid}.single-square{aspect-ratio:1;background:#abe0e2;width:min(12vh,120px);display:block}.grid{grid-template-columns:repeat(var(--grid-size), var(--cell-size));grid-auto-rows:var(--cell-size);gap:var(--cell-gap);display:grid}.grid-cell{width:var(--cell-size);height:var(--cell-size);background:var(--cell-bg);opacity:var(--cell-opacity);transform:scale(var(--cell-scale));border:0;border-radius:0;outline:0;padding:0;transition:background-color .7s,opacity .7s,outline-color .7s,transform .7s;display:block}button.grid-cell{cursor:pointer}button.grid-cell:hover{transform:scale(1.16)}button.grid-cell:focus-visible,.choice-button:focus-visible,.continue-button:focus-visible,.sources-link:focus-visible{outline:4px solid var(--focus);outline-offset:5px}.self-cell{box-shadow:none}.self-cell.is-revealed{box-shadow:inset 0 0 0 4px #d90000}.changed-cell{animation:1.45s both difference-spreads;animation-delay:var(--cell-delay)}.demo-screen{grid-template-rows:auto 1fr;gap:clamp(16px,3vh,28px);height:100vh;padding:clamp(18px,3vh,34px) clamp(28px,5vw,64px);display:grid;overflow:hidden}.demo-header{width:min(1120px,100%)}.demo-header h1{margin-bottom:14px;font-size:clamp(3rem,min(7vw,9vh),6.2rem)}.demo-header .subtitle{max-width:920px;font-size:clamp(1rem,min(1.8vw,2.6vh),1.45rem)}.demo-list{grid-template-columns:repeat(6,minmax(0,1fr));align-content:start;gap:clamp(10px,1.5vw,18px);display:grid}.demo-card{min-width:0}.demo-card p{margin:8px 0 0;font-size:clamp(.72rem,1vw,.95rem);line-height:1.15}.demo-grid{aspect-ratio:1;grid-template-columns:repeat(var(--grid-size), minmax(0, 1fr));gap:2px;width:100%;display:grid}.question-panel{width:min(980px,100%)}.choice-list{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:18px;width:min(760px,100%);display:grid}.choice-button,.continue-button,.give-up-button{border:1px solid var(--line);min-height:58px;color:var(--text);cursor:pointer;background:#fff;border-radius:0;transition:border-color .18s,background-color .18s,color .18s}.choice-button{text-align:left;padding:14px 20px;font-size:clamp(1rem,1.6vw,1.25rem)}.resist-choice{transform:translate(var(--jump-x,0), var(--jump-y,0));transition:border-color .18s,background-color .18s,color .18s,transform .12s ease-out;position:relative}.continue-button{padding:13px 30px;font-size:1.05rem}.give-up-button{opacity:0;pointer-events:none;text-transform:uppercase;letter-spacing:.08em;min-height:48px;padding:10px 22px;font-size:.95rem;transition:opacity .9s,border-color .18s,background-color .18s,color .18s}.give-up-button.is-visible{opacity:1;pointer-events:auto}.choice-button:hover,.continue-button:hover,.give-up-button:hover{border-color:var(--text);color:#fff;background:#060519}.response-screen h2,.ending-screen-content h2{margin-left:auto;margin-right:auto;font-size:clamp(1.45rem,min(3.1vw,4.6vh),3.2rem)}.response-screen .subtitle{font-size:clamp(1rem,min(1.7vw,2.4vh),1.45rem)}.response-screen .grid-wrap{align-self:center}.reflection{justify-items:center;gap:16px;width:min(900px,100%);display:grid}@keyframes difference-spreads{0%{filter:saturate(.45);transform:scale(.72)}to{filter:saturate();transform:scale(var(--cell-scale))}}@media (width<=760px){:root{--cell-size:24px;--cell-gap:8px}.grid-screen,.question-screen{padding:18px 20px}h1{margin-bottom:18px}.demo-list{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}
